|
Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
|
Shared geometry metadata for instanced rendering with LOD support. More...
#include <RenderData.h>
Public Attributes | |
| uint64_t | meshletDataAddress |
| Device address of the slot's UnifiedMeshlet array (0 = none). | |
| uint32_t | meshletCount |
| Number of meshlets for this geometry. | |
| uint32_t | pipelineIndex |
| Pipeline bin used for rendering this geometry. | |
| uint64_t | singleMeshletGeoDataAddress |
| Device address of the slot's SingleMeshletGeometryData (0 = none). | |
| uint32_t | singleMeshletGeoIndex |
| Compact VS-path binning ordinal, or 0xFFFFFFFF if absent. | |
| uint64_t | clusterLodDataAddress |
| Device address of the slot's ClusterLodData array (0 = none). | |
| uint32_t | clusterCount |
| Number of LOD clusters for this geometry. | |
| uint64_t | clusterGroupDataAddress |
| Device address of the slot's ClusterGroupData array (0 = none). | |
| uint32_t | groupCount |
| Number of LOD cluster groups for this geometry. | |
| uint32_t | flags |
| Bit 0 marks skinned geometry; bit 1 marks the slot payload resident (fully uploaded). | |
| uint32_t | boneCount |
| Number of bones referenced by this geometry. Zero means static geometry. | |
| uint64_t | boneVertexDataAddress |
| Device address of the slot's BoneVertexData array (0 = none). | |
| uint64_t | indexDataAddress |
| Device address of the slot's index array (uint32_t), 0 = none. | |
| uint64_t | vertexDataAddress |
| Device address of the slot's Vertex array (0 = none). | |
| uint32_t | geometryVertexStart |
| Base vertex element within the slot's vertex array. | |
| uint32_t | _padding |
| Pad to 104 bytes. | |
Static Public Attributes | |
| static constexpr uint32_t | FLAG_SKINNED = 1u << 0 |
| flags bits (kept in sync with shaders/culling/PrimitiveCulling.comp). | |
| static constexpr uint32_t | FLAG_RESIDENT = 1u << 1 |
| Slot payload fully uploaded (safe to render). | |
Shared geometry metadata for instanced rendering with LOD support.
Each entry describes one unique mesh primitive stored in shared geometry buffers. Instances reference this table through InstanceData::meshGeometryId. Layout matches GLSL std430 MeshGeometryData and is 96 bytes.
Phase C (bindless geometry): payload ranges are referenced by device addresses instead of shared-buffer start indices, so a slot can own its own vertex/triangle/meshlet/bone/LOD buffers. A zero address means the range is not present for this geometry.
Definition at line 279 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::_padding |
Pad to 104 bytes.
Definition at line 300 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::boneCount |
Number of bones referenced by this geometry. Zero means static geometry.
Definition at line 295 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::boneVertexDataAddress |
Device address of the slot's BoneVertexData array (0 = none).
Definition at line 296 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::clusterCount |
Number of LOD clusters for this geometry.
Definition at line 291 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::clusterGroupDataAddress |
Device address of the slot's ClusterGroupData array (0 = none).
Definition at line 292 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::clusterLodDataAddress |
Device address of the slot's ClusterLodData array (0 = none).
Definition at line 290 of file RenderData.h.
|
staticconstexpr |
Slot payload fully uploaded (safe to render).
Definition at line 283 of file RenderData.h.
|
staticconstexpr |
flags bits (kept in sync with shaders/culling/PrimitiveCulling.comp).
Routes to VS path for GPU skinning.
Definition at line 282 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::flags |
Bit 0 marks skinned geometry; bit 1 marks the slot payload resident (fully uploaded).
Definition at line 294 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::geometryVertexStart |
Base vertex element within the slot's vertex array.
Definition at line 299 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::groupCount |
Number of LOD cluster groups for this geometry.
Definition at line 293 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::indexDataAddress |
Device address of the slot's index array (uint32_t), 0 = none.
Definition at line 297 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::meshletCount |
Number of meshlets for this geometry.
Definition at line 286 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::meshletDataAddress |
Device address of the slot's UnifiedMeshlet array (0 = none).
Definition at line 285 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::pipelineIndex |
Pipeline bin used for rendering this geometry.
Definition at line 287 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::singleMeshletGeoDataAddress |
Device address of the slot's SingleMeshletGeometryData (0 = none).
Definition at line 288 of file RenderData.h.
| uint32_t Engine::Rendering::GpuBuffers::MeshGeometryData::singleMeshletGeoIndex |
Compact VS-path binning ordinal, or 0xFFFFFFFF if absent.
Definition at line 289 of file RenderData.h.
| uint64_t Engine::Rendering::GpuBuffers::MeshGeometryData::vertexDataAddress |
Device address of the slot's Vertex array (0 = none).
Definition at line 298 of file RenderData.h.