private void CreatePipeline() { // Processor Entities.Processors.Add(new CubemapSourceProcessor(GraphicsDevice)); // Rendering pipeline RenderSystem.Pipeline.Renderers.Add(new CameraSetter(Services)); RenderSystem.Pipeline.Renderers.Add(new RenderTargetSetter(Services) { ClearColor = Color.CornflowerBlue, EnableClearDepth = true, ClearDepth = 1f }); // Create G-buffer pass var gbufferPipeline = new RenderPipeline("GBuffer"); // Renders the G-buffer for opaque geometry. gbufferPipeline.Renderers.Add(new ModelRenderer(Services, "CubemapIBLEffect.XenkoGBufferShaderPass")); var gbufferProcessor = new GBufferRenderProcessor(Services, gbufferPipeline, GraphicsDevice.DepthStencilBuffer, false); // Add sthe G-buffer pass to the pipeline. RenderSystem.Pipeline.Renderers.Add(gbufferProcessor); var readOnlyDepthBuffer = GraphicsDevice.DepthStencilBuffer; // TODO ToDepthStencilBuffer(true); IBLRenderer = new LightingIBLRenderer(Services, "CubemapIBLSpecular", readOnlyDepthBuffer); RenderSystem.Pipeline.Renderers.Add(IBLRenderer); RenderSystem.Pipeline.Renderers.Add(new RenderTargetSetter(Services) { ClearColor = Color.CornflowerBlue, EnableClearDepth = false, }); RenderSystem.Pipeline.Renderers.Add(new DelegateRenderer(Services) { Render = ShowIBL }); }