Acceleration structures are an opaque structure that is 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 to trace inside the shader in the ray tracing pipeline.
Acceleration structures are represented by
// Provided by VK_KHR_ray_tracing VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
or the equivalent
// Provided by VK_NV_ray_tracing typedef VkAccelerationStructureKHR VkAccelerationStructureNV;
VkAccelerationStructureBuildGeometryInfoKHR, VkAccelerationStructureDeviceAddressInfoKHR, VkAccelerationStructureMemoryRequirementsInfoKHR, VkBindAccelerationStructureMemoryInfoKHR, VkCopyAccelerationStructureInfoKHR, VkCopyAccelerationStructureToMemoryInfoKHR, VkCopyMemoryToAccelerationStructureInfoKHR, VkWriteDescriptorSetAccelerationStructureKHR, vkCmdBuildAccelerationStructureNV, vkCmdCopyAccelerationStructureNV, vkCmdWriteAccelerationStructuresPropertiesKHR, vkCmdWriteAccelerationStructuresPropertiesNV, vkCreateAccelerationStructureKHR, vkDestroyAccelerationStructureKHR, vkDestroyAccelerationStructureNV, vkGetAccelerationStructureHandleNV, 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.
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.