protected override void DrawCore(RenderDrawContext context) { if (!Enabled || Output == null) { return; } // Sets the input of the layer (== last Current) var currentRenderFrame = context.RenderContext.Tags.Get(RenderFrame.Current); // Sets the output of the layer // Master is always going to use the Master frame for the current frame. var renderFrame = Output.GetRenderFrame(context.RenderContext); using (context.RenderContext.PushTagAndRestore(CurrentInput, currentRenderFrame)) { context.RenderContext.Tags.Set(RenderFrame.Current, renderFrame); Renderers.Draw(context); } }