Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::MeshGeometryMapping Struct Reference

CPU cache entry that maps a mesh primitive to shared geometry buffer ranges. More...

#include <RenderData.h>

Public Attributes

uint32_t meshGeometryId
 Index into the GPU MeshGeometryData buffer.
uint32_t meshletStartIndex
 First meshlet in the shared UnifiedMeshlet buffer.
uint32_t meshletCount
 Number of meshlets in the shared geometry range.
uint32_t vertexBaseOffset
 First vertex in the shared vertex buffer.
uint32_t triangleBaseOffset
 First packed triangle in the shared triangle buffer.
uint32_t vsIndexOffset
 First index in the vertex-shader path index buffer.
uint32_t vsIndexCount
 Number of indices in the vertex-shader path index buffer.
bool isSingleMeshlet
 True when the geometry can use the vertex-shader fast path.
uint32_t pipelineIndex
 Material pipeline index used for binning and draw routing.
glm::vec3 localBoundsCenter
 Local-space center of the geometry bounding sphere.
float localBoundsRadius
 Local-space radius of the geometry bounding sphere.
bool hasLodData = false
 True when cluster and group LOD data was uploaded.
uint32_t boneVertexBaseOffset = 0
 First bone vertex record for skinned geometry.
uint32_t boneCount = 0
 Number of bones referenced by the geometry.
uint32_t vertexCount = 0
 Number of vertices appended for this geometry (per-slot range).
uint32_t singleMeshletGeoIndex = 0xFFFFFFFFu
 VS-path binning ordinal into the shared SingleMeshletGeometryData array.
uint32_t clusterStartIndex = 0xFFFFFFFFu
 First ClusterLodData index in the shared LOD array (or sentinel).
uint32_t clusterCount = 0
 Number of LOD clusters for this geometry.
uint32_t groupStartIndex = 0xFFFFFFFFu
 First ClusterGroupData index in the shared LOD array (or sentinel).
uint32_t groupCount = 0
 Number of LOD cluster groups for this geometry.
uint64_t meshletDataAddress = 0
 Device address of the slot's UnifiedMeshlet array.
uint64_t singleMeshletGeoDataAddress = 0
 Device address of the slot's SingleMeshletGeometryData entry.
uint64_t clusterLodDataAddress = 0
 Device address of the slot's ClusterLodData array.
uint64_t clusterGroupDataAddress = 0
 Device address of the slot's ClusterGroupData array.
uint64_t boneVertexDataAddress = 0
 Device address of the slot's BoneVertexData array.
uint64_t vertexDataAddress = 0
 Device address of the slot's Vertex array.

Detailed Description

CPU cache entry that maps a mesh primitive to shared geometry buffer ranges.

Instances reference this mapping so identical geometry uploads once and each instance only writes transform, material, and culling data. Sentinel index fields use 0xFFFFFFFF when the referenced GPU range is not present.

Definition at line 74 of file RenderData.h.

Member Data Documentation

◆ boneCount

uint32_t Engine::Rendering::MeshGeometryMapping::boneCount = 0

Number of bones referenced by the geometry.

Definition at line 89 of file RenderData.h.

◆ boneVertexBaseOffset

uint32_t Engine::Rendering::MeshGeometryMapping::boneVertexBaseOffset = 0

First bone vertex record for skinned geometry.

Definition at line 88 of file RenderData.h.

◆ boneVertexDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::boneVertexDataAddress = 0

Device address of the slot's BoneVertexData array.

Definition at line 105 of file RenderData.h.

◆ clusterCount

uint32_t Engine::Rendering::MeshGeometryMapping::clusterCount = 0

Number of LOD clusters for this geometry.

Definition at line 93 of file RenderData.h.

◆ clusterGroupDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::clusterGroupDataAddress = 0

Device address of the slot's ClusterGroupData array.

Definition at line 104 of file RenderData.h.

◆ clusterLodDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::clusterLodDataAddress = 0

Device address of the slot's ClusterLodData array.

Definition at line 103 of file RenderData.h.

◆ clusterStartIndex

uint32_t Engine::Rendering::MeshGeometryMapping::clusterStartIndex = 0xFFFFFFFFu

First ClusterLodData index in the shared LOD array (or sentinel).

Definition at line 92 of file RenderData.h.

◆ groupCount

uint32_t Engine::Rendering::MeshGeometryMapping::groupCount = 0

Number of LOD cluster groups for this geometry.

Definition at line 95 of file RenderData.h.

◆ groupStartIndex

uint32_t Engine::Rendering::MeshGeometryMapping::groupStartIndex = 0xFFFFFFFFu

First ClusterGroupData index in the shared LOD array (or sentinel).

Definition at line 94 of file RenderData.h.

◆ hasLodData

bool Engine::Rendering::MeshGeometryMapping::hasLodData = false

True when cluster and group LOD data was uploaded.

Definition at line 87 of file RenderData.h.

◆ isSingleMeshlet

bool Engine::Rendering::MeshGeometryMapping::isSingleMeshlet

True when the geometry can use the vertex-shader fast path.

Definition at line 83 of file RenderData.h.

◆ localBoundsCenter

glm::vec3 Engine::Rendering::MeshGeometryMapping::localBoundsCenter

Local-space center of the geometry bounding sphere.

Definition at line 85 of file RenderData.h.

◆ localBoundsRadius

float Engine::Rendering::MeshGeometryMapping::localBoundsRadius

Local-space radius of the geometry bounding sphere.

Definition at line 86 of file RenderData.h.

◆ meshGeometryId

uint32_t Engine::Rendering::MeshGeometryMapping::meshGeometryId

Index into the GPU MeshGeometryData buffer.

Definition at line 76 of file RenderData.h.

◆ meshletCount

uint32_t Engine::Rendering::MeshGeometryMapping::meshletCount

Number of meshlets in the shared geometry range.

Definition at line 78 of file RenderData.h.

◆ meshletDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::meshletDataAddress = 0

Device address of the slot's UnifiedMeshlet array.

Definition at line 101 of file RenderData.h.

◆ meshletStartIndex

uint32_t Engine::Rendering::MeshGeometryMapping::meshletStartIndex

First meshlet in the shared UnifiedMeshlet buffer.

Definition at line 77 of file RenderData.h.

◆ pipelineIndex

uint32_t Engine::Rendering::MeshGeometryMapping::pipelineIndex

Material pipeline index used for binning and draw routing.

Definition at line 84 of file RenderData.h.

◆ singleMeshletGeoDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::singleMeshletGeoDataAddress = 0

Device address of the slot's SingleMeshletGeometryData entry.

Definition at line 102 of file RenderData.h.

◆ singleMeshletGeoIndex

uint32_t Engine::Rendering::MeshGeometryMapping::singleMeshletGeoIndex = 0xFFFFFFFFu

VS-path binning ordinal into the shared SingleMeshletGeometryData array.

Definition at line 91 of file RenderData.h.

◆ triangleBaseOffset

uint32_t Engine::Rendering::MeshGeometryMapping::triangleBaseOffset

First packed triangle in the shared triangle buffer.

Definition at line 80 of file RenderData.h.

◆ vertexBaseOffset

uint32_t Engine::Rendering::MeshGeometryMapping::vertexBaseOffset

First vertex in the shared vertex buffer.

Definition at line 79 of file RenderData.h.

◆ vertexCount

uint32_t Engine::Rendering::MeshGeometryMapping::vertexCount = 0

Number of vertices appended for this geometry (per-slot range).

Definition at line 90 of file RenderData.h.

◆ vertexDataAddress

uint64_t Engine::Rendering::MeshGeometryMapping::vertexDataAddress = 0

Device address of the slot's Vertex array.

Definition at line 106 of file RenderData.h.

◆ vsIndexCount

uint32_t Engine::Rendering::MeshGeometryMapping::vsIndexCount

Number of indices in the vertex-shader path index buffer.

Definition at line 82 of file RenderData.h.

◆ vsIndexOffset

uint32_t Engine::Rendering::MeshGeometryMapping::vsIndexOffset

First index in the vertex-shader path index buffer.

Definition at line 81 of file RenderData.h.


The documentation for this struct was generated from the following file:
  • /workspace/magerbeton/gl3-vulkan/code/Engine/include/Engine/Renderer/RenderData.h