vkCreateAccelerationStructureNV
To create acceleration structures, call:
VkResult vkCreateAccelerationStructureNV(
VkDevice device,
const VkAccelerationStructureCreateInfoNV* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkAccelerationStructureNV* pAccelerationStructure);
device
is the logical device that creates the buffer object.pCreateInfo
is a pointer to a VkAccelerationStructureCreateInfoNV structure containing parameters affecting creation of the acceleration structure.pAllocator
controls host memory allocation as described in the Memory Allocation chapter.pAccelerationStructure
is a pointer to a VkAccelerationStructureNV handle in which the resulting acceleration structure object is returned.
Similarly to other objects in Vulkan, the acceleration structure creation
merely creates an object with a specific shape
as specified by the
information in VkAccelerationStructureInfoNV and compactedSize
in pCreateInfo
.
Once memory has been bound to the acceleration structure using vkBindAccelerationStructureMemoryNV, that memory is populated by calls to vkCmdBuildAccelerationStructureNV and vkCmdCopyAccelerationStructureNV.
Acceleration structure creation uses the count and type information from the geometries, but does not use the data references in the structures.
Valid Usage (Implicit)
VUID-vkCreateAccelerationStructureNV-device-parameter
device
must be a valid VkDevice handle
VUID-vkCreateAccelerationStructureNV-pCreateInfo-parameter
pCreateInfo
must be a valid pointer to a valid VkAccelerationStructureCreateInfoNV structure
VUID-vkCreateAccelerationStructureNV-pAllocator-parameter
If pAllocator
is not NULL
, pAllocator
must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameter
pAccelerationStructure
must be a valid pointer to a VkAccelerationStructureNV handle