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();
}
}