public sealed class RenderObjectStoreEvery renderable in the scene, as one flat array plus the per-feature arrays beside it.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Ids are dense and reused. Removal marks a slot dead and pushes it onto a free list rather than compacting, because the id is what every feature's parallel array is indexed by — compacting would move objects and invalidate every registered array at once, which is the opposite of what the RenderDataHolder arrangement is for.
The cost of that is holes: a scene that streamed a thousand objects out leaves a thousand dead slots the culling loop still walks. It is a real cost and a cheap one — a dead slot is one predictable branch on a value already in cache — and it buys stable ids, which everything else here depends on.
Fields and properties (5)
public RenderDataHolder DataPer-feature arrays, indexed by the same ids as this store.
public int CountOne past the highest id ever handed out — the length every array is grown to.
public int LiveCountHow many slots hold a live object.
public Span<RenderObject> AllThe objects, live and dead, as one span.
public ref RenderObject this[RenderObjectId id]The object with this id.
Methods (4)
public RenderObjectId Add(in RenderObject value)Adds an object, reusing a dead slot where there is one.
public void Remove(RenderObjectId id)Removes an object, freeing its slot for reuse.
public void Clear()Drops every object, keeping the memory for the next scene.
public void Dispose()Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Used by (67, showing 40)
- ArenaThirdPersonShooter
- VirtualGeometryGameVirtualGeometry
- BindlessFrameTestsVixen.Rendering.Tests
- ClusteredLightingTestsVixen.Rendering.Tests
- ClusteredShadingDeviceTestsVixen.Graphics.Golden.Tests
- CompositorAssetTestsVixen.Rendering.Tests
- CompositorImageTestsVixen.Graphics.Golden.Tests
- CountingFeatureVixen.Rendering.Tests
- CullJobVixen.Rendering
- DepthPrepassTestsVixen.Rendering.Tests
- DescriptorBindingTestsVixen.Rendering.Tests
- DrawCompactionTestsVixen.Rendering.Tests
- ForwardFrameTestsVixen.Rendering.Tests
- ForwardLightingRenderFeatureVixen.Rendering
- ForwardLightingTestsVixen.Rendering.Tests
- FrameBudgetTestsVixen.Rendering.Tests
- GpuCullingRendererVixen.Rendering
- GpuVisibilityGroupVixen.Rendering
- GpuVisibilityGroupTestsVixen.Rendering.Tests
- GraphicsCompositorTestsVixen.Rendering.Tests
- IVisibilityGroupVixen.Rendering
- InstancingRenderFeatureVixen.Rendering
- 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
- MotionVectorRenderFeatureVixen.Rendering
- MotionVectorTestsVixen.Rendering.Tests
- ObjectRecordTestsVixen.Rendering.Tests
- ParticleRenderFeatureVixen.Rendering