public sealed class FullScreenRendererOne effect over the whole screen: the node every post-process pass is made of.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The edge between "the compositor can express a bloom chain" and "the compositor has one". Everything else in the tree draws objects — a stage's sorted list, a shadow cascade's casters — and no post effect has any. This draws three vertices and nothing else.
A triangle, and no vertex buffer at all. The positions come out of SV_VertexID in Library/PostFx/Fullscreen.rvn, so there is nothing to bind and nothing to allocate. A triangle rather than a quad because two triangles meeting across the screen have a diagonal seam where the interpolators are least accurate, and because six vertices to cover a rectangle is two more than are needed.
It declares its own pass, like every other node that needs graph resources. A post effect is one effect into one target reading a handful of others, which is a pass — putting several into one RenderPassRenderer would mean each reading what the one before it wrote inside a pass that cannot barrier between them.
The pipeline cache is its own, and not PipelineCache. Three of that key's four parts are degenerate here: there is no vertex layout, no stage list, and the "stage" is the node. What is left is the effect, the output's formats and the blend — which is exactly what this is keyed by.
Fields and properties (19)
public required string ShaderNameThe shader to run.
public ParameterCollection ParametersIts permutations, and the values its uniform block is filled from.
public IReadOnlyList<ParameterKey> PermutationKeysWhich permutation keys the shader's variants are selected by.
public IList<string> ColourTargetsThe names of the colour attachments it writes.
public IList<string> ReadsThe names of the textures it samples.
public IList<string> BufferReadsThe names of the buffers it reads.
public LoadAction LoadWhat happens to the colour attachments at the start of the pass.
public Color4 ClearColourWhat to clear the attachments to, when Load clears.
public BlendState BlendHow its output combines with what is already there.
public Viewport? ViewportThe viewport, or null for the whole target.
public ShaderComposition CompositionWhat fills the shader's compose slots, for a pass that has any.
public DescriptorBindings DescriptorsThe set it binds: its source textures, its samplers, its uniform block.
public SceneConstants? SceneConstantsThe frame's set 0, for a pass whose shader declares anything per-frame.
public uint? ConstantBindingWhere the uniform block goes, or null for an effect that has none.
public EffectPipelineDescriber? ModulesWhere shader modules come from. Set before the first frame that builds.
public SamplerCache? SamplersWhere a described sampler comes from, for a binding that names one by value.
public IGraphicsDevice? DeviceThe device its pipelines and its uniform block are created on.
public int PipelineCountHow many distinct pipelines this node has compiled.
public int UploadCountHow many times its uniform block has gone to the GPU.
Methods (2)
protected internal override void Build(GraphicsCompositor compositor, CompositorFrame frame)Declares this node's render-graph passes.
public void Dispose()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Used by (21)
- AutoExposureTestsVixen.Rendering.PostFx.Tests
- BloomRendererVixen.Rendering.PostFx
- BloomTestsVixen.Rendering.PostFx.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorBuilderVixen.Rendering
- CompositorImageTestsVixen.Graphics.Golden.Tests
- DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
- DistanceFieldAoRendererVixen.Rendering.PostFx
- HarnessVixen.Rendering.PostFx.Tests
- HarnessVixen.Rendering.Tests
- HarnessVixen.Rendering.PostFx.Tests
- IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
- IndirectDiffuseRendererVixen.Rendering.PostFx
- LensFlareRendererVixen.Rendering.PostFx
- LocalExposureRendererVixen.Rendering.PostFx
- PostEffectRendererVixen.Rendering.PostFx
- PostEffectTestsVixen.Rendering.PostFx.Tests
- PostProcessTestsVixen.Rendering.Tests
- ScreenProbeGatherImageTestsVixen.Graphics.Golden.Tests
- ScreenProbeUpsampleImageTestsVixen.Graphics.Golden.Tests
- ScreenProbeUpsampleRendererVixen.Rendering.PostFx