public override void Initialise(Renderer renderer, ResourceContext context) { _geometry = new GeometryRenderer(renderer.Scene.FindManagers<IGeometryProvider>()); // define outputs context.DefineOutput("gbuffer_depth", isLeftSet: false, surfaceFormat: SurfaceFormat.Single, depthFormat: DepthFormat.Depth24Stencil8); context.DefineOutput("gbuffer_normals", isLeftSet: false, surfaceFormat: SurfaceFormat.Rgba1010102); context.DefineOutput("gbuffer_diffuse", isLeftSet: false, surfaceFormat: SurfaceFormat.Color); context.DefineOutput("gbuffer_depth_downsample", isLeftSet: true, surfaceFormat: SurfaceFormat.Single); base.Initialise(renderer, context); }
public override void Initialise(Renderer renderer, ResourceContext context) { _geometryProviders = renderer.Scene.FindManagers<IGeometryProvider>(); _geometryDrawer = new GeometryRenderer(_geometryProviders); // define inputs if (context.AvailableResources.Any(r => r.Name == "gbuffer_depth")) context.DefineInput("gbuffer_depth"); // define outputs foreach (var resource in context.SetRenderTargets) context.DefineOutput(resource); base.Initialise(renderer, context); }