|
|
xiiMeshBufferResourceDescriptor & | GetMeshBufferDescriptor () |
| | Returns a reference to the mesh buffer resource descriptor contained within this mesh resource descriptor.
|
|
const xiiMeshBufferResourceDescriptor & | GetMeshBufferDescriptor () const |
| | Returns a reference to the mesh buffer resource descriptor contained within this mesh resource descriptor.
|
|
const xiiMeshBufferResourceHandle & | GetExistingMeshBuffer () const |
| | Returns a handle to an existing mesh buffer resource that can be used for this mesh resource, or an invalid handle if no existing mesh buffer can be used.
|
|
xiiArrayPtr< const xiiString > | GetMaterials () const |
| | Returns a reference to the array of material paths contained within this mesh resource descriptor.
|
|
xiiArrayPtr< const xiiMeshSection > | GetSubMeshes () const |
| | Returns a reference to the array of sections contained within this mesh resource descriptor.
|
|
xiiArrayPtr< xiiMeshLOD > | GetLODs () |
| | Returns a reference to the array of LODs contained within this mesh resource descriptor.
|
|
xiiArrayPtr< const xiiMeshLOD > | GetLODs () const |
|
const xiiBoundingBoxSphere & | GetBounds () const |
| | Returns the bounding volume for this mesh resource, used for culling and LOD selection.
|
|
| xiiMeshResourceDescriptor () |
| | Default constructor, initializes an empty mesh resource descriptor.
|
|
void | Clear () |
| | Clears all data from the descriptor, resetting it to an empty state.
|
|
void | UseExistingMeshBuffer (const xiiMeshBufferResourceHandle &hBuffer) |
| | Specifies that the mesh buffer for this mesh resource should be created from the given descriptor, instead of using an existing mesh buffer resource.
|
|
xiiUInt32 | AddMaterialSlot (xiiStringView sPathToMaterial) |
| | Adds a new material slot to the mesh resource descriptor with the given path, and returns the index of the new material slot.
|
| void | SetMaterial (xiiUInt32 uiMaterialIndex, xiiStringView sPathToMaterial) |
| xiiMeshSection & | AddSection (xiiUInt32 uiPrimitiveCount, xiiUInt32 uiFirstPrimitive, xiiUInt32 uiMaterialIndex, xiiUInt32 uiLodIndex=0U) |
| void | AddSubMesh (xiiUInt32 uiPrimitiveCount, xiiUInt32 uiFirstPrimitive, xiiUInt32 uiMaterialIndex) |
| xiiMeshLOD & | AddLOD (float fScreenSize, float fMaxDistance=0.0f) |
|
void | CollapseSubMeshes () |
| | Collapses all sub-meshes (sections at LOD 0) into a single section, used to optimize meshes that have multiple small sections.
|
|
void | ComputeBounds () |
| | Computes the bounding volume for the mesh resource based on the vertex data in the mesh buffer descriptor, used for culling and LOD selection.
|
| xiiResult | BuildMeshlets (xiiUInt32 uiMaxVertices=64U, xiiUInt32 uiMaxPrimitives=124U) |
|
void | SetBounds (const xiiBoundingBoxSphere &bounds) |
| | Sets the bounding volume for this mesh resource, used for culling and LOD selection.
|
|
void | Save (xiiStreamWriter &inout_stream) const |
|
xiiResult | Save (xiiStringView sFile) const |
|
xiiResult | Load (xiiStreamReader &inout_stream) |
|
xiiResult | Load (xiiStringView sFile) |
|
|
xiiBitflags< xiiMeshResourceUsageFlags > | m_UsageFlags = xiiMeshResourceUsageFlags::Default |
| | Usage flags for this mesh resource, used to specify intended usage patterns and GPU feature support.
|
|
xiiEnum< xiiMeshLodSelectionMode > | m_LodMode = xiiMeshLodSelectionMode::ScreenSize |
| | LOD selection mode for this mesh resource.
|
|
xiiUInt32 | m_uiStreamingGroup = 0U |
| | Streaming group index for this mesh resource, used to group meshes for streaming purposes.
|
|
xiiUInt32 | m_uiMaxResidentLod = 0U |
| | Maximum resident LOD index for this mesh resource, used to control how many LODs are kept in memory when streaming.
|
|
xiiUInt32 | m_uiRuntimeHash = 0U |
| | Runtime hash for this mesh resource, used for quick comparisons and lookups at runtime.
|
|
xiiSkeletonResourceHandle | m_hDefaultSkeleton |
| | Handle to the default skeleton resource for this mesh, used for skeletal animation when no specific skeleton is assigned.
|
|
xiiHashTable< xiiHashedString, xiiMeshBoneData > | m_Bones |
| | Hash table mapping bone names to bone data for this mesh, used for skeletal animation.
|
|
xiiDynamicArray< xiiMeshMorphTarget > | m_MorphTargets |
| | Array of morph targets for this mesh, used for shape animation.
|
|
float | m_fMaxBoneVertexOffset = 0.0f |
| | Maximum vertex offset caused by bone influences in this mesh, used for bounding volume calculations and culling of skinned meshes.
|
Authoring and streaming descriptor for xiiMeshResource.
The descriptor is intentionally GPU-first, that is, sections and LODs are defined in primitive/meshlet ranges, and material slots are handles/paths. The mesh buffer descriptor contains the packed vertex/index/meshlet payload that is uploaded to GAL buffers by xiiMeshBufferResource.