Class MeshEntityChunk
- Namespace
- Elegy.RenderSystem.Objects
- Assembly
- Elegy.RenderSystem.dll
Represents a chunk of renderable entity data. One chunk contains up to 256 renderable entity objects, tightly packed so that all relevant buffer handles can be cached better, reducing CPU time.
public class MeshEntityChunk
- Inheritance
-
MeshEntityChunk
- Inherited Members
Constructors
MeshEntityChunk(GraphicsDevice)
public MeshEntityChunk(GraphicsDevice device)
Parameters
device
GraphicsDevice
Properties
Blocks
Blocks of mesh entity data that don't need super cache friendliness.
public MeshEntityChunk.MeshEntityBlock[] Blocks { get; }
Property Value
BoneTransformBufferDirtyBits
Dirty flags for BoneBuffer.
public BitVector BoneTransformBufferDirtyBits { get; }
Property Value
SlotBits
Free/taken bits.
public BitVector SlotBits { get; }
Property Value
TransformBuffer
Contains ChunkSize transform matrices. Ranges are derived from ElementIndex.
public DeviceBuffer TransformBuffer { get; }
Property Value
- DeviceBuffer
TransformBufferDirtyBits
Dirty flags for TransformBuffer.
public BitVector TransformBufferDirtyBits { get; }
Property Value
TransformStagingBuffer
Intermediary buffer for uploading to TransformBuffer.
public DeviceBuffer TransformStagingBuffer { get; }
Property Value
- DeviceBuffer
TransformStagingBufferView
A view into TransformStagingBuffer. You can obtain a span from it and modify the buffer that way.
public MappedResourceView<Matrix4x4> TransformStagingBufferView { get; }
Property Value
- MappedResourceView<Matrix4x4>
Transforms
All the transforms in this chunk (up to ChunkSize of them).
public Span<Matrix4x4> Transforms { get; }