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

MeshEntityBlock[]

BoneTransformBufferDirtyBits

Dirty flags for BoneBuffer.

public BitVector BoneTransformBufferDirtyBits { get; }

Property Value

BitVector

SlotBits

Free/taken bits.

public BitVector SlotBits { get; }

Property Value

BitVector

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

BitVector

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; }

Property Value

Span<Matrix4x4>