public abstract class SceneRendererOne node of the compositor graph: a thing that happens, in order, to produce a frame.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Stride's SceneRendererBase, and the reason docs/plan/06 calls the compositor an asset: a frame's structure is a tree of these, and a tree is data. "Swap forward for deferred" is then a different tree rather than a different build of the engine.
Three phases, and each can only do its own job.
Collect runs before the render system and says which views this node needs and which stages those views draw — so the frame's view list is derived from the tree rather than handed to it. Build runs after culling and sorting and declares render-graph passes: what each reads, what it writes, and what it does. Nothing is recorded here. Record runs inside a pass the graph opened, with its barriers already placed. Only drawing is left.
The last split is not bureaucracy — it is the RHI's own. A draw has to be inside a render pass and a pass has to be declared before the graph can order it, so a node either owns a pass (Build) or draws into someone else's (Record). A node that tried to do both would be declaring a pass from inside one.
Fields and properties (3)
public string NameThe node's name, for debug groups, profiling and the compositor asset.
public bool EnabledWhether this node runs at all.
public virtual IReadOnlyList<SceneRenderer> NestedThe nodes underneath this one, for a walk over the whole frame.
Methods (7)
protected internal virtual void Collect(GraphicsCompositor compositor)Declares the views and stages this node needs, before anything is culled.
protected internal virtual void Build(GraphicsCompositor compositor, CompositorFrame frame)Declares this node's render-graph passes.
protected internal virtual void Record(GraphicsCompositor compositor, RenderDrawContext context)Records this node's work into a pass somebody else opened.
protected static void BuildChild(SceneRenderer child, GraphicsCompositor compositor, CompositorFrame frame)Runs a child node's phase, for a node built out of other nodes.
protected static void CollectChild(SceneRenderer child, GraphicsCompositor compositor)Runs a child node's collect phase.
protected static void RecordChild(SceneRenderer child, GraphicsCompositor compositor, RenderDrawContext context)Runs a child node's record phase.
public override string ToString()Returns a string that represents the current object.
Used by (67, showing 40)
- ArenaThirdPersonShooter
- ArenaFrameThirdPersonShooter
- ArenaIlluminationThirdPersonShooter
- FrameDocumentTestsThirdPersonShooter.Frame.Tests
- AutoExposureRendererVixen.Rendering.PostFx
- AutoExposureTestsVixen.Rendering.PostFx.Tests
- BloomRendererVixen.Rendering.PostFx
- BloomTestsVixen.Rendering.PostFx.Tests
- BufferReadbackRendererVixen.Rendering
- BufferTransferDeviceTestsVixen.Graphics.Golden.Tests
- BufferTransferTestsVixen.Rendering.Tests
- BufferUploadRendererVixen.Rendering
- ClusterCullingDeviceTestsVixen.Graphics.Golden.Tests
- ClusterCullingRendererVixen.Rendering
- ClusteredLightingTestsVixen.Rendering.Tests
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorBuilderVixen.Rendering
- CompositorImageTestsVixen.Graphics.Golden.Tests
- ComputeRendererVixen.Rendering
- DelegateSceneRendererVixen.Rendering
- DepthPrepassTestsVixen.Rendering.Tests
- DescriptorBindingTestsVixen.Rendering.Tests
- DistanceFieldAoImageTestsVixen.Graphics.Golden.Tests
- ForwardFrameTestsVixen.Rendering.Tests
- FullScreenRendererVixen.Rendering
- GlobalDistanceFieldRendererVixen.Rendering
- GpuCullingRendererVixen.Rendering
- GpuVisibilityGroupTestsVixen.Rendering.Tests
- GraphicsCompositorVixen.Rendering
- GraphicsCompositorTestsVixen.Rendering.Tests
- HiZRendererVixen.Rendering
- ISceneRendererFactoryVixen.Rendering
- IndirectDiffuseImageTestsVixen.Graphics.Golden.Tests
- IrradianceFieldRendererVixen.Rendering
- IrradianceRefinementTestsVixen.Rendering.Tests
- IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
- LensFlareRendererVixen.Rendering.PostFx
- LocalExposureRendererVixen.Rendering.PostFx
- ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests