Vixen
02b45cc4
csharp
public readonly record struct RenderNode

One draw: an object, seen from a view, in a stage.

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

Remarks

The same object produces a node per (view, stage) it appears in — a mesh in the camera's opaque stage and in four shadow cascades is five nodes referring to one RenderObject. That is the point of the split: the object's data is extracted once and the per-view work is a list of indices into it.

Sixteen bytes, and deliberately no more. This is the array a frame sorts, and sorting is a memory-bandwidth problem long before it is a comparison problem — putting a material reference or a bounding box in here would double the bytes moved for no gain, since the sort only ever looks at the key.

Fields and properties (2)

Methods (2)

  • public RenderNode(RenderObjectId Object, SortKey Key)

    One draw: an object, seen from a view, in a stage.

  • public override string ToString()

    Returns the fully qualified type name of this instance.

Used by (17)

  • ForwardLightingRenderFeatureVixen.Rendering
  • FrameBudgetTestsVixen.Rendering.Tests
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • IDrawSubFeatureVixen.Rendering
  • LodRenderFeatureVixen.Rendering
  • MeshRenderFeatureVixen.Rendering
  • MotionVectorRenderFeatureVixen.Rendering
  • ParticleRenderFeatureVixen.Rendering
  • RenderSystemVixen.Rendering
  • RenderSystemTestsVixen.Rendering.Tests
  • RootRenderFeatureVixen.Rendering
  • SkinningRenderFeatureVixen.Rendering
  • SpriteRenderFeatureVixen.Rendering
  • SpyFeatureVixen.Rendering.Tests
  • TransformRenderFeatureVixen.Rendering
  • UiRenderFeatureVixen.Ui.Renderer
  • VideoRenderFeatureVixen.Video.Rendering