public readonly record struct GraphicsPipelineDescriptionWhat to create a graphics pipeline from.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Built ahead of time and complete: shaders, vertex layout, raster, depth-stencil, blend and the formats it is compatible with. That is Vulkan's and D3D12's model, and it is what makes the pre-warm in docs/plan/05 possible — a build step records every description the content needs, and boot creates them before the first frame instead of hitching on first encounter.
Fields and properties (11)
public ShaderHandle VertexThe vertex shader.
public ShaderHandle FragmentThe fragment shader, or Null for a depth-only pass.
public PipelineLayoutHandle LayoutThe descriptor sets and push constants it expects.
public ColourTargetState[] ColourTargetsThe colour targets, in order.
public VertexBufferLayout[]? VertexBuffersThe vertex buffer layouts, in binding order.
public PrimitiveTopology TopologyWhat the vertices mean.
public RasterizerState RasterizerHow triangles become fragments.
public DepthStencilState DepthStencilThe depth and stencil tests.
public PixelFormat DepthFormatThe depth attachment's format, or Undefined for none.
public int SampleCountHow many samples the attachments have.
public string NameA name for the debugger and the validation layers.
Methods (2)
public GraphicsPipelineDescription(ShaderHandle Vertex, ShaderHandle Fragment, PipelineLayoutHandle Layout, ColourTargetState[] ColourTargets, VertexBufferLayout[]? VertexBuffers = null, PrimitiveTopology Topology = TriangleList, RasterizerState Rasterizer = default(RasterizerState), DepthStencilState DepthStencil = default(DepthStencilState), PixelFormat DepthFormat = Undefined, int SampleCount = 1, string Name = "")What to create a graphics pipeline from.
public void Validate()Checks the description is one a backend could compile.
Used by (27)
- PbrShowcaseGamePbrShowcase
- TriangleGameHelloTriangle
- VirtualGeometryGameVirtualGeometry
- CommandRecorderTestsVixen.Graphics.Null.Tests
- EditorGizmoFacingDeviceTestsVixen.Graphics.Golden.Tests
- EffectPipelineDescriberVixen.Rendering
- FixtureVixen.Graphics.Golden.Tests
- GlDeviceVixen.Graphics.OpenGL
- GlDeviceTestsVixen.Graphics.OpenGL.Tests
- GlPipelineVixen.Graphics.OpenGL
- IGraphicsDeviceVixen.Graphics
- IPipelineDescriberVixen.Rendering
- LineRendererVixen.Rendering
- MeshInstanceRendererVixen.Rendering
- MeshRendererVixen.Rendering
- NativeWebGpuTestsVixen.Graphics.WebGPU.Tests
- NullDeviceVixen.Graphics.Null
- PipelineCacheVixen.Rendering
- PipelinesVixen.Graphics.OpenGL.Tests
- SurfaceCardCaptureDeviceTestsVixen.Graphics.Golden.Tests
- UiRendererVixen.Ui.Renderer
- VideoRendererVixen.Video.Rendering
- VulkanDeviceVixen.Graphics.Vulkan
- VulkanDrawTestsVixen.Graphics.Vulkan.Tests
- VulkanPipelineTestsVixen.Graphics.Vulkan.Tests
- WebGpuCommandTestsVixen.Graphics.WebGPU.Tests
- WebGpuDeviceVixen.Graphics.WebGPU