VkAccelerationStructureGeometryTrianglesDataKHR
The VkAccelerationStructureGeometryTrianglesDataKHR
structure is
defined as:
typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
VkStructureType sType;
const void* pNext;
VkFormat vertexFormat;
VkDeviceOrHostAddressConstKHR vertexData;
VkDeviceSize vertexStride;
uint32_t maxVertex;
VkIndexType indexType;
VkDeviceOrHostAddressConstKHR indexData;
VkDeviceOrHostAddressConstKHR transformData;
} VkAccelerationStructureGeometryTrianglesDataKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.vertexFormat
is the VkFormat of each vertex element.vertexData
is a device or host address to memory containing vertex data for this geometry.maxVertex
is the number of vertices invertexData
minus one.vertexStride
is the stride in bytes between each vertex.indexType
is the VkIndexType of each index element.indexData
is a device or host address to memory containing index data for this geometry.transformData
is a device or host address to memory containing an optional reference to a VkTransformMatrixKHR structure describing a transformation from the space in which the vertices in this geometry are described to the space in which the acceleration structure is defined.
Unlike the stride for vertex buffers in
VkVertexInputBindingDescription for graphics pipelines which must not
exceed maxVertexInputBindingStride
, vertexStride
for
acceleration structure geometry is instead restricted to being a 32-bit
value.
Valid Usage
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03735
vertexStride
must be a multiple of the size in bytes of the
smallest component of vertexFormat
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexStride-03819
vertexStride
must be less than or equal to 232-1
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-03797
The format features of
vertexFormat
must contain
VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-03798
indexType
must be VK_INDEX_TYPE_UINT16
,
VK_INDEX_TYPE_UINT32
, or VK_INDEX_TYPE_NONE_KHR
Valid Usage (Implicit)
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-sType
sType
must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_TRIANGLES_DATA_KHR
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-pNext-pNext
Each pNext
member of any structure (including this one) in the pNext
chain must be either NULL
or a pointer to a valid instance of VkAccelerationStructureGeometryMotionTrianglesDataNV, VkAccelerationStructureTrianglesDisplacementMicromapNV, or VkAccelerationStructureTrianglesOpacityMicromapEXT
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-sType-unique
The sType
value of each struct in the pNext
chain must be unique
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-vertexFormat-parameter
vertexFormat
must be a valid VkFormat value
VUID-VkAccelerationStructureGeometryTrianglesDataKHR-indexType-parameter
indexType
must be a valid VkIndexType value