private static bool PostProcess(DataRoute route, IPostProcessAssets processor) { var declarationType = processor.GetDeclarationType(); switch (declarationType) { case DeclarationType.Single: { return(PostProcessUtility.InvokeSingle(route.StoredValue, processor, route.RootType));; } case DeclarationType.List: { return(PostProcessUtility.InvokeList(route.StoredValue, processor, route.RootType)); } case DeclarationType.Dictionary: var keyType = route.DictionaryKeyType; var valueType = route.RootType; { return(PostProcessUtility.InvokeDictionary(route.StoredValue, processor, keyType, valueType)); } } return(false); }
protected override void RenderProcess(ref DrawContext context) { GL.Enable(EnableCap.DepthTest); MainFramebuffer.Activate(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); context.Scene.DrawBackground(context); context.Scene.DrawMainObjects(context); context.Scene.DrawHUD(context); GL.Disable(EnableCap.DepthTest); _postBuffer.Activate(ClearBufferMask.ColorBufferBit); PostProcessUtility.ResolveMultisampledBuffers(MainFramebuffer, _postBuffer); _bloom.Draw(_postBuffer["color"], context); _vittage.Draw(_postBuffer["color"], context); Framebuffer.Screen.Activate(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); PostProcessUtility.FinalizeHDR(_postBuffer["color"], HDRColorCurve.OnlyExposure, .1f); }