Example #1
0
        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);
            }
        }