Vixen
dd8b0a81
csharp
public sealed class EffectPipelineDescriber

Builds a pipeline from the four things that decide one: an effect, a stage, an output and a vertex layout.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

The default IPipelineDescriber, and the reason a render feature no longer takes a pipeline-description callback from its host. Each of the four contributes exactly what it knows and nothing else:

the Effect — the shader modules and the pipeline layout; the RenderStage — how its objects are drawn: blend, depth, raster; the RenderOutput — what they are drawn into: formats and samples; the vertex layout — how a vertex is read.

Which is also, exactly, PipelineKey. Two draws agreeing on all four get the same pipeline; disagreeing on any one of them gets a different pipeline, because each one changes what the driver compiles.

Fields and properties (2)

  • public IList<VertexBufferLayout[]> VertexLayouts

    The vertex buffer layouts, by the index a draw names.

  • public IList<VertexSchema> VertexSchemas

    The same table, described by name so each effect gets its own locations.

Methods (4)

  • public EffectPipelineDescriber(IGraphicsDevice device)

    Builds a pipeline from the four things that decide one: an effect, a stage, an output and a vertex layout.

  • public GraphicsPipelineDescription Describe(Effect effect, RenderStage stage, in RenderOutput output, int vertexLayout)

    The description to compile a pipeline from.

  • public void Clear()

    Forgets every shader module, destroying it, for a device loss or a shader reload.

  • public ShaderHandle ModuleOf(Effect effect, ShaderStage stage)

    The device module for one of an effect's stages, created once.

Used by (74, showing 40)

  • AutoExposureTestsVixen.Rendering.PostFx.Tests
  • BentNormalAmbientImageTestsVixen.Graphics.Golden.Tests
  • BindlessFrameTestsVixen.Rendering.Tests
  • BloomRendererVixen.Rendering.PostFx
  • BloomTestsVixen.Rendering.PostFx.Tests
  • CascadeCountDeviceTestsVixen.Graphics.Golden.Tests
  • ClusteredLightingTestsVixen.Rendering.Tests
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • CompositorAssetTestsVixen.Rendering.Tests
  • CompositorBuilderVixen.Rendering
  • CompositorImageTestsVixen.Graphics.Golden.Tests
  • CompositorLifetimeTestsVixen.Rendering.Tests
  • DepthPrepassTestsVixen.Rendering.Tests
  • DescriptorBindingTestsVixen.Rendering.Tests
  • DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
  • DitherImageTestsVixen.Graphics.Golden.Tests
  • DrawCompactionTestsVixen.Rendering.Tests
  • ForwardFrameTestsVixen.Rendering.Tests
  • ForwardLightingTestsVixen.Rendering.Tests
  • FullScreenRendererVixen.Rendering
  • GpuClusterRasterVixen.Rendering
  • GpuDrivenCompositorTestsVixen.Rendering.Tests
  • GraphicsCompositorTestsVixen.Rendering.Tests
  • GtaoImageTestsVixen.Graphics.Golden.Tests
  • IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
  • LensFlareRendererVixen.Rendering.PostFx
  • LightStreakImageTestsVixen.Graphics.Golden.Tests
  • LightStreakRendererVixen.Rendering.PostFx
  • LocalExposureRendererVixen.Rendering.PostFx
  • LodTestsVixen.Rendering.Tests
  • MaterialBindingTestsVixen.Rendering.Tests
  • MaterialRecordBufferTestsVixen.Rendering.Tests
  • MaterialTextureIndexTestsVixen.Rendering.Tests
  • MaxLightsDeviceTestsVixen.Graphics.Golden.Tests
  • MeshRenderFeatureTestsVixen.Rendering.Tests
  • MotionVectorTestsVixen.Rendering.Tests
  • MultiScatterFurnaceImageTestsVixen.Graphics.Golden.Tests
  • ParticleLightFeatureTestsVixen.Rendering.Tests