Structures

VkAccelerationStructureGeometryTrianglesDataKHR

Structure specifying a triangle geometry in a bottom-level acceleration structure

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 is NULL 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 in vertexData 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-sType-unique

The sType value of each struct in the pNext chain must be unique