AcTools.Render.DeferredShading.DeferredShadingRenderer.DrawPrepare C# (CSharp) Method

DrawPrepare() protected method

protected DrawPrepare ( ) : void
return void
        protected override void DrawPrepare() {
            base.DrawPrepare();

            if (Sun != null && UseShadows) {
                _sunShadows.Update(Sun.Direction, Camera);
                _sunShadows.DrawScene(DeviceContextHolder, this);
            }

            if (UseCubemapReflections) {
                _reflectionCubemap.Update(ReflectionCubemapPosition);
                _reflectionCubemap.DrawScene(DeviceContextHolder, this);
            }

            DeviceContext.OutputMerger.SetTargets(_gDepthBuffer.DepthView, _gBufferBase.TargetView,
                    _gBufferNormal.TargetView, _gBufferMaps.TargetView);
            DeviceContext.ClearDepthStencilView(_gDepthBuffer.DepthView,
                    DepthStencilClearFlags.Depth | DepthStencilClearFlags.Stencil, 1f, 0);
            DeviceContext.ClearRenderTargetView(_gBufferBase.TargetView, ColorTransparent);
            DeviceContext.ClearRenderTargetView(_gBufferNormal.TargetView, ColorTransparent);
            DeviceContext.ClearRenderTargetView(_gBufferMaps.TargetView, ColorTransparent);
            DeviceContext.OutputMerger.BlendState = null;
        }