Vixen
02b45cc4

GraphicsPipelineDescription

struct Core/Vixen.Graphics/Pipelines.cs:494
csharp
public readonly record struct GraphicsPipelineDescription

What 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 Vertex

    The vertex shader.

  • public ShaderHandle Fragment

    The fragment shader, or Null for a depth-only pass.

  • public PipelineLayoutHandle Layout

    The descriptor sets and push constants it expects.

  • public ColourTargetState[] ColourTargets

    The colour targets, in order.

  • public VertexBufferLayout[]? VertexBuffers

    The vertex buffer layouts, in binding order.

  • public PrimitiveTopology Topology

    What the vertices mean.

  • public RasterizerState Rasterizer

    How triangles become fragments.

  • public DepthStencilState DepthStencil

    The depth and stencil tests.

  • public PixelFormat DepthFormat

    The depth attachment's format, or Undefined for none.

  • public int SampleCount

    How many samples the attachments have.

  • public string Name

    A name for the debugger and the validation layers.

Methods (2)

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