public sealed class EffectPipelineDescriberBuilds 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[]> VertexLayoutsThe vertex buffer layouts, by the index a draw names.
public IList<VertexSchema> VertexSchemasThe 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, 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 (48, showing 40)
- AutoExposureTestsVixen.Rendering.PostFx.Tests
- BindlessFrameTestsVixen.Rendering.Tests
- BloomRendererVixen.Rendering.PostFx
- BloomTestsVixen.Rendering.PostFx.Tests
- ClusteredLightingTestsVixen.Rendering.Tests
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorBuilderVixen.Rendering
- CompositorImageTestsVixen.Graphics.Golden.Tests
- DepthPrepassTestsVixen.Rendering.Tests
- DescriptorBindingTestsVixen.Rendering.Tests
- DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
- DrawCompactionTestsVixen.Rendering.Tests
- ForwardFrameTestsVixen.Rendering.Tests
- ForwardLightingTestsVixen.Rendering.Tests
- FullScreenRendererVixen.Rendering
- GpuClusterRasterVixen.Rendering
- GpuDrivenCompositorTestsVixen.Rendering.Tests
- GraphicsCompositorTestsVixen.Rendering.Tests
- IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
- IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
- IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
- LensFlareRendererVixen.Rendering.PostFx
- LocalExposureRendererVixen.Rendering.PostFx
- LodTestsVixen.Rendering.Tests
- MaterialBindingTestsVixen.Rendering.Tests
- MaterialRecordBufferTestsVixen.Rendering.Tests
- MaterialTextureIndexTestsVixen.Rendering.Tests
- MeshRenderFeatureTestsVixen.Rendering.Tests
- MotionVectorTestsVixen.Rendering.Tests
- ParticleRenderFeatureTestsVixen.Rendering.Tests
- ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests
- PostEffectRendererVixen.Rendering.PostFx
- PostEffectTestsVixen.Rendering.PostFx.Tests
- PostProcessTestsVixen.Rendering.Tests
- PunctualShadowTestsVixen.Rendering.Tests
- ScreenProbeBilateralImageTestsVixen.Graphics.Golden.Tests
- ScreenProbeGatherRendererVixen.Rendering.PostFx
- ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests
- ShadowCacheTestsVixen.Rendering.Tests