Vixen
02b45cc4
csharp
public record class VisibilityBufferAsset

The visibility buffer: the draw that fills it, the binning that sorts it, and the shading.

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

Remarks

Three passes in one node, and the ordering between them is deliberately not something a document can get wrong — see Tiles. What a document chooses is the names: which depth this shares with the classic geometry, and which colour target the resolve writes radiance into.

The depth is named rather than created, because a frame that also draws classic geometry wants both in one depth buffer or the two occlude each other not at all. The colour is named for the same reason and a stronger one: what a resolve writes is radiance into the scene colour the forward pass and every post-effect already share, which is the whole of improvement 2 in docs/plan/22-virtualized-geometry.md. A resolve with a target of its own would be a second colour buffer to composite, and compositing it is what a GBuffer resolve does.

Fields and properties (10)

  • public string Name

    The node's name, for debug groups and for a human reading the file.

  • public bool Enabled

    Whether the node runs.

  • public string Output

    What the identity target is called in the graph. Created by this node.

  • public string Depth

    The depth this shares with whatever else draws geometry. Named, not created.

  • public string Colour

    The scene colour the resolve adds radiance to. Named, not created.

  • public string Albedo

    The ambient split's albedo plane, or empty for the combined path. Named with Normals or not at all — see Albedo.

  • public string Normals

    The split's normal plane, on Albedo's terms.

  • public string View

    The view it draws from, by the name the document's views are known by.

  • public int ViewIndex

    Which of the frame's views it draws.

  • public string[] Stages

    Which stages' objects it draws, by name. Empty means every stage.

Used by (3)

  • CompositorBuilderVixen.Rendering
  • TypeRegistrationVixen.Rendering
  • Vixen_Rendering_Compositor_VisibilityBufferAssetSerializerVixen.Rendering