Acceleration structures are opaque data structures that are built by the implementation to more efficiently perform spatial queries on the provided geometric data. For this extension, an acceleration structure is either a top-level acceleration structure containing a set of bottom-level acceleration structures or a bottom-level acceleration structure containing either a set of axis-aligned bounding boxes for custom geometry or a set of triangles.
Each instance in the top-level acceleration structure contains a reference to a bottom-level acceleration structure as well as an instance transform plus information required to index into the shader bindings. The top-level acceleration structure is what is bound to the acceleration descriptor, for example to trace inside the shader in the ray tracing pipeline.
Acceleration structures are represented by
// Provided by VK_KHR_acceleration_structure VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
VK_KHR_acceleration_structure, VkAccelerationStructureBuildGeometryInfoKHR, VkAccelerationStructureDeviceAddressInfoKHR, VkCopyAccelerationStructureInfoKHR, VkCopyAccelerationStructureToMemoryInfoKHR, VkCopyMemoryToAccelerationStructureInfoKHR, VkWriteDescriptorSetAccelerationStructureKHR, vkCmdWriteAccelerationStructuresPropertiesKHR, vkCreateAccelerationStructureKHR, vkDestroyAccelerationStructureKHR, vkWriteAccelerationStructuresPropertiesKHR
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.