Vixen
02b45cc4
csharp
public abstract class SceneRenderer

One 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 Name

    The node's name, for debug groups, profiling and the compositor asset.

  • public bool Enabled

    Whether this node runs at all.

  • public virtual IReadOnlyList<SceneRenderer> Nested

    The nodes underneath this one, for a walk over the whole frame.

Methods (7)

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