|
Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
|
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. | |
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.
| uint32_t Engine::Rendering::MeshGeometryMapping::boneCount = 0 |
Number of bones referenced by the geometry.
Definition at line 89 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::boneVertexBaseOffset = 0 |
First bone vertex record for skinned geometry.
Definition at line 88 of file RenderData.h.
| uint64_t Engine::Rendering::MeshGeometryMapping::boneVertexDataAddress = 0 |
Device address of the slot's BoneVertexData array.
Definition at line 105 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::clusterCount = 0 |
Number of LOD clusters for this geometry.
Definition at line 93 of file RenderData.h.
| uint64_t Engine::Rendering::MeshGeometryMapping::clusterGroupDataAddress = 0 |
Device address of the slot's ClusterGroupData array.
Definition at line 104 of file RenderData.h.
| uint64_t Engine::Rendering::MeshGeometryMapping::clusterLodDataAddress = 0 |
Device address of the slot's ClusterLodData array.
Definition at line 103 of file RenderData.h.
| 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.
| uint32_t Engine::Rendering::MeshGeometryMapping::groupCount = 0 |
Number of LOD cluster groups for this geometry.
Definition at line 95 of file RenderData.h.
| 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.
| bool Engine::Rendering::MeshGeometryMapping::hasLodData = false |
True when cluster and group LOD data was uploaded.
Definition at line 87 of file RenderData.h.
| bool Engine::Rendering::MeshGeometryMapping::isSingleMeshlet |
True when the geometry can use the vertex-shader fast path.
Definition at line 83 of file RenderData.h.
| glm::vec3 Engine::Rendering::MeshGeometryMapping::localBoundsCenter |
Local-space center of the geometry bounding sphere.
Definition at line 85 of file RenderData.h.
| float Engine::Rendering::MeshGeometryMapping::localBoundsRadius |
Local-space radius of the geometry bounding sphere.
Definition at line 86 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::meshGeometryId |
Index into the GPU MeshGeometryData buffer.
Definition at line 76 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::meshletCount |
Number of meshlets in the shared geometry range.
Definition at line 78 of file RenderData.h.
| uint64_t Engine::Rendering::MeshGeometryMapping::meshletDataAddress = 0 |
Device address of the slot's UnifiedMeshlet array.
Definition at line 101 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::meshletStartIndex |
First meshlet in the shared UnifiedMeshlet buffer.
Definition at line 77 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::pipelineIndex |
Material pipeline index used for binning and draw routing.
Definition at line 84 of file RenderData.h.
| uint64_t Engine::Rendering::MeshGeometryMapping::singleMeshletGeoDataAddress = 0 |
Device address of the slot's SingleMeshletGeometryData entry.
Definition at line 102 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::singleMeshletGeoIndex = 0xFFFFFFFFu |
VS-path binning ordinal into the shared SingleMeshletGeometryData array.
Definition at line 91 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::triangleBaseOffset |
First packed triangle in the shared triangle buffer.
Definition at line 80 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::vertexBaseOffset |
First vertex in the shared vertex buffer.
Definition at line 79 of file RenderData.h.
| 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.
| uint64_t Engine::Rendering::MeshGeometryMapping::vertexDataAddress = 0 |
Device address of the slot's Vertex array.
Definition at line 106 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::vsIndexCount |
Number of indices in the vertex-shader path index buffer.
Definition at line 82 of file RenderData.h.
| uint32_t Engine::Rendering::MeshGeometryMapping::vsIndexOffset |
First index in the vertex-shader path index buffer.
Definition at line 81 of file RenderData.h.