Artemis.Engine.Graphics.ResolutionRelativeRenderLayer.PreRender C# (CSharp) Method

PreRender() protected method

protected PreRender ( ) : void
return void
        protected override void PreRender()
        {
            // Reset the RenderTarget if the resolution has changed.
            if (ArtemisEngine.DisplayManager.ResolutionChanged)
            {
                var previousTarget = LayerTarget;

                // If we're scaling dynamically then our layer target fills the entire screen.
                if (LayerScaleType == GlobalLayerScaleType.Dynamic)
                    LayerTarget = ArtemisEngine.RenderPipeline.CreateRenderTarget(
                        TargetFormat,
                        TargetDepthFormat,
                        PreferredMultiSampleCount,
                        TargetUsage,
                        TargetFill,
                        TargetIsMipMap);
                else
                    LayerTarget = ArtemisEngine.RenderPipeline.CreateRenderTarget(
                        TargetFormat,
                        TargetDepthFormat,
                        PreferredMultiSampleCount,
                        TargetUsage,
                        TargetFill,
                        TargetIsMipMap);

                foreach (var item in targetChangeListeners)
                {
                    if (item.OnLayerTargetChanged != null)
                    {
                        item.OnLayerTargetChanged(previousTarget, LayerTarget);
                    }
                }

                previousTarget.Dispose();

                RecalculateTargetTransform();
            }
        }