示例#1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PingPongColorBuffers"/> class.
 /// </summary>
 /// <param name="textureFormat">The texture format.</param>
 /// <param name="width">The width.</param>
 /// <param name="height">The height.</param>
 /// <param name="deviceRes">The device resource.</param>
 public PingPongColorBuffers(global::SharpDX.DXGI.Format textureFormat, int width, int height, IDevice3DResources deviceRes)
 {
     texture2DDesc.Format = textureFormat;
     deviceResources      = deviceRes;
     texture2DDesc.Width  = width;
     texture2DDesc.Height = height;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="ImmediateContextRenderer"/> class.
        /// </summary>
        /// <param name="deviceResource">The deviceResource.</param>
        public ImmediateContextRenderer(IDevice3DResources deviceResource)
        {
#if DX11_1
            ImmediateContext = Collect(new DeviceContextProxy(deviceResource.Device.ImmediateContext1, deviceResource.Device));
#else
            ImmediateContext = Collect(new DeviceContextProxy(deviceResource.Device.ImmediateContext, deviceResource.Device));
#endif
            transparentRenderCore = Collect(new OrderIndependentTransparentRenderCore());
            postFXAACore          = Collect(new PostEffectFXAA());
        }
            /// <summary>
            /// Initializes a new instance of the <see cref="ImmediateContextRenderer"/> class.
            /// </summary>
            /// <param name="deviceResource">The deviceResource.</param>
            public ImmediateContextRenderer(IDevice3DResources deviceResource)
            {
#if DX11_1
                immediateContext = new DeviceContextProxy(deviceResource.Device.ImmediateContext1, deviceResource.Device);
#else
                immediateContext = new DeviceContextProxy(deviceResource.Device.ImmediateContext, deviceResource.Device);
#endif
                oitWeightedCore     = new OrderIndependentTransparentRenderCore();
                oitDepthPeelingCore = new OITDepthPeeling();
                postFXAACore        = new PostEffectFXAA();
                preSSAOCore         = new SSAOCore();
            }
示例#4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="manager"></param>
 /// <param name="material"></param>
 public ColorStripeMaterialVariables(IEffectsManager manager, ColorStripeMaterialCore material)
 {
     this.material             = material;
     deviceResources           = manager;
     needUpdate                = true;
     material.PropertyChanged += Material_OnMaterialPropertyChanged;
     texStripeXSlot            = texStripeYSlot = -1;
     samplerDiffuseSlot        = -1;
     textureManager            = manager.MaterialTextureManager;
     statePoolManager          = manager.StateManager;
     CreateTextureViews();
     CreateSamplers();
     this.PropertyChanged += (s, e) => { OnInvalidateRenderer?.Invoke(this, EventArgs.Empty); };
 }
示例#5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="manager"></param>
 /// <param name="technique"></param>
 /// <param name="material"></param>
 public ColorStripeMaterialVariables(IEffectsManager manager, IRenderTechnique technique, ColorStripeMaterialCore material)
     : base(manager, technique, DefaultMeshConstantBufferDesc)
 {
     this.material             = material;
     deviceResources           = manager;
     material.PropertyChanged += Material_OnMaterialPropertyChanged;
     texStripeXSlot            = texStripeYSlot = -1;
     samplerDiffuseSlot        = -1;
     textureManager            = manager.MaterialTextureManager;
     statePoolManager          = manager.StateManager;
     MaterialPass              = technique[defaultShaderPassName];
     UpdateMappings(MaterialPass);
     CreateTextureViews();
     CreateSamplers();
 }
示例#6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="manager"></param>
 /// <param name="technique"></param>
 /// <param name="materialCore"></param>
 public ColorStripeMaterialVariables(IEffectsManager manager, IRenderTechnique technique, ColorStripeMaterialCore materialCore)
     : base(manager, technique, DefaultMeshConstantBufferDesc, materialCore)
 {
     this.material      = materialCore;
     deviceResources    = manager;
     texStripeXSlot     = texStripeYSlot = -1;
     samplerDiffuseSlot = -1;
     textureManager     = manager.MaterialTextureManager;
     statePoolManager   = manager.StateManager;
     MaterialPass       = technique[defaultShaderPassName];
     WireframePass      = technique[wireframePassName];
     ShadowPass         = technique[shadowPassName];
     UpdateMappings(MaterialPass);
     CreateTextureViews();
     CreateSamplers();
 }
示例#7
0
 public TexturePool(IDevice3DResources deviceResourse, Texture2DDescription desc)
 {
     this.deviceResourse = deviceResourse;
     description         = desc;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="DeferredContextRenderer"/> class.
 /// </summary>
 /// <param name="deviceResources">The deviceResources.</param>
 /// <param name="scheduler"></param>
 public DeferredContextRenderer(IDevice3DResources deviceResources, IRenderTaskScheduler scheduler) : base(deviceResources)
 {
     deferredContextPool = deviceResources.DeviceContextPool;
     this.scheduler      = scheduler;
 }