Diligent Engine
Loading...
Searching...
No Matches
Diligent::RadientMeshGeometryDesc Struct Reference

#include <RadientAssets.h>

Public Attributes

RadientVertexLayoutDesc VertexLayout = {}
Uint32 VertexCount = 0
RADIENT_INDEX_TYPE IndexType = RADIENT_INDEX_TYPE_NONE
Uint32 IndexCount = 0

Detailed Description

Immutable description of one geometry's stored vertex and index data.

Multiple primitives can reference the same geometry while selecting different draw ranges and default materials. Counts describe the complete geometry; RadientMeshPrimitiveDesc describes the range used by each primitive.

Member Data Documentation

◆ IndexCount

Uint32 Diligent::RadientMeshGeometryDesc::IndexCount = 0

Total number of stored indices. Zero when IndexType is NONE. Indexed primitive ranges select elements within this index domain.

◆ IndexType

RADIENT_INDEX_TYPE Diligent::RadientMeshGeometryDesc::IndexType = RADIENT_INDEX_TYPE_NONE

Encoding of the stored indices. NONE identifies non-indexed geometry, whose primitives select vertices directly. This describes the renderer's stored representation, which may differ from the input index encoding.

◆ VertexCount

Uint32 Diligent::RadientMeshGeometryDesc::VertexCount = 0

Number of vertex records in every logical stream in VertexLayout. Indices and non-indexed primitive ranges refer to this vertex domain.

◆ VertexLayout

RadientVertexLayoutDesc Diligent::RadientMeshGeometryDesc::VertexLayout = {}

Renderer-selected layout of the stored vertex data. Attribute offsets and buffer strides are explicit; automatic packing values do not appear here. The layout contains only active logical streams, numbered consecutively from zero. BufferIndex identifies a stream within this layout, not a GPU binding slot. ByteOffset is relative to a vertex record and excludes any GPU pool or allocation offset. The layout may differ from the source layout supplied during mesh creation, including attribute encodings and defaults. The mesh owns the arrays and semantic strings for its lifetime.