Vixen
02b45cc4
csharp
public struct RenderObject

Everything the renderer needs about one object before any feature looks at it: where it is, how big it is, which stages want it, and which feature owns it.

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

Remarks

A value type in a flat array rather than an object, and the reason is the culling loop: it reads bounds and a stage mask for every object in the scene, and doing that through managed references is a cache miss per object at exactly the point where there is nothing else to hide it behind.

What is not here is as deliberate: no material, no mesh, no bone palette, no transform beyond the bounds. Those belong to the feature that understands them, in an array that feature registered. Putting them here would make every object pay for every feature's data, which is precisely the design Stride's RenderDataHolder avoids.

Fields and properties (5)

  • public BoundingSphere Bounds

    The world-space bounds culling tests, and the centre distance sorts by.

  • public RenderStageMask Stages

    Which stages this object appears in.

  • public int FeatureIndex

    The root feature that extracted and will draw this object.

  • public uint SortGroup

    A per-object grouping value the sort key puts above depth — pipeline state, in practice.

  • public bool IsAlive

    Whether this slot holds a live object.

Used by (63, showing 40)

  • VirtualGeometryGameVirtualGeometry
  • BindlessFrameTestsVixen.Rendering.Tests
  • ClusteredLightingTestsVixen.Rendering.Tests
  • ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
  • CompositorAssetTestsVixen.Rendering.Tests
  • CompositorImageTestsVixen.Graphics.Golden.Tests
  • CullJobVixen.Rendering
  • DepthPrepassTestsVixen.Rendering.Tests
  • DescriptorBindingTestsVixen.Rendering.Tests
  • DrawCompactionTestsVixen.Rendering.Tests
  • ForwardFrameTestsVixen.Rendering.Tests
  • ForwardLightingRenderFeatureVixen.Rendering
  • ForwardLightingTestsVixen.Rendering.Tests
  • FrameBudgetTestsVixen.Rendering.Tests
  • GpuCullingVixen.Rendering
  • GpuVisibilityGroupVixen.Rendering
  • GpuVisibilityGroupTestsVixen.Rendering.Tests
  • GraphicsCompositorTestsVixen.Rendering.Tests
  • IrradianceBounceDeviceTestsVixen.Graphics.Golden.Tests
  • IrradianceFieldRendererVixen.Rendering
  • IrradianceRefinementTestsVixen.Rendering.Tests
  • IrradianceShadingDeviceTestsVixen.Graphics.Golden.Tests
  • LodRenderFeatureVixen.Rendering
  • LodTestsVixen.Rendering.Tests
  • MaterialBindingTestsVixen.Rendering.Tests
  • MaterialRecordBufferTestsVixen.Rendering.Tests
  • MaterialRenderFeatureVixen.Rendering
  • MaterialTextureIndexTestsVixen.Rendering.Tests
  • MeshExtractionSystemVixen.Rendering
  • MeshExtractionTestsVixen.Rendering.Tests
  • MeshRenderFeatureVixen.Rendering
  • MeshRenderFeatureTestsVixen.Rendering.Tests
  • MotionVectorTestsVixen.Rendering.Tests
  • ObjectRecordTestsVixen.Rendering.Tests
  • ParticleRenderFeatureVixen.Rendering
  • ParticleRenderFeatureTestsVixen.Rendering.Tests
  • ParticleSpriteDeviceTestsVixen.Graphics.Golden.Tests
  • PunctualShadowTestsVixen.Rendering.Tests
  • RecordingTestsVixen.Rendering.Tests
  • RenderObjectStoreVixen.Rendering