C Specification
VkAccelerationStructureBuildOffsetInfoKHR
is defined as:
// Provided by VK_KHR_ray_tracing
typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
uint32_t primitiveCount;
uint32_t primitiveOffset;
uint32_t firstVertex;
uint32_t transformOffset;
} VkAccelerationStructureBuildOffsetInfoKHR;
Members
-
primitiveCount
defines the number of primitives for a corresponding acceleration structure geometry. -
primitiveOffset
defines an offset in bytes into the memory where primitive data is defined. -
firstVertex
is the index of the first vertex to build from for triangle geometry. -
transformOffset
defines an offset in bytes into the memory where a transform matrix is defined.
Description
The primitive count and primitive offset are interpreted differently depending on the VkGeometryTypeKHR used:
-
For geometries of type
VK_GEOMETRY_TYPE_TRIANGLES_KHR
,primitiveCount
is the number of triangles to be built, where each triangle is treated as 3 vertices.-
If the geometry uses indices,
primitiveCount
× 3 indices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::indexData
, starting at an offset ofprimitiveOffset
. The value offirstVertex
is added to the index values before fetching vertices. -
If the geometry does not use indices,
primitiveCount
× 3 vertices are consumed from VkAccelerationStructureGeometryTrianglesDataKHR::vertexData
, starting at an offset ofprimitiveOffset
+ VkAccelerationStructureGeometryTrianglesDataKHR::vertexStride
×firstVertex
. -
A single VkTransformMatrixKHR structure is consumed from VkAccelerationStructureGeometryTrianglesDataKHR::
transformData
, at an offset oftransformOffset
. This transformation matrix is used by all triangles.
-
-
For geometries of type
VK_GEOMETRY_TYPE_AABBS_KHR
,primitiveCount
is the number of axis-aligned bounding boxes.primitiveCount
VkAabbPositionsKHR structures are consumed from VkAccelerationStructureGeometryAabbsDataKHR::data
, starting at an offset ofprimitiveOffset
. -
For geometries of type
VK_GEOMETRY_TYPE_INSTANCES_KHR
,primitiveCount
is the number of acceleration structures.primitiveCount
VkAccelerationStructureInstanceKHR structures are consumed from VkAccelerationStructureGeometryInstancesDataKHR::data
, starting at an offset ofprimitiveOffset
.
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.