VkAccelerationStructureGeometrySpheresDataNV
If VkAccelerationStructureGeometrySpheresDataNV
is included in the
pNext
chain of a VkAccelerationStructureGeometryKHR structure,
then that structures defines the sphere’s geometry data.
The VkAccelerationStructureGeometrySpheresDataNV
structure is defined
as:
typedef struct VkAccelerationStructureGeometrySpheresDataNV {
VkStructureType sType;
const void* pNext;
VkFormat vertexFormat;
VkDeviceOrHostAddressConstKHR vertexData;
VkDeviceSize vertexStride;
VkFormat radiusFormat;
VkDeviceOrHostAddressConstKHR radiusData;
VkDeviceSize radiusStride;
VkIndexType indexType;
VkDeviceOrHostAddressConstKHR indexData;
VkDeviceSize indexStride;
} VkAccelerationStructureGeometrySpheresDataNV;
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 sphere’s vertex element.vertexData
is a device or host address to memory containing vertex data in form of pairs of centers of spheres that define all sphere geometry.vertexStride
is the stride in bytes between each vertex element.radiusFormat
is the VkFormat of each sphere’s radius.radiusData
is a device or host address to memory containing sphere’s radius data value.radiusStride
is the stride in bytes between each radius value.indexType
is the VkIndexType of each index element.indexData
isNULL
or a device or host address to memory containing index data for vertex and radius buffers for this geometry.indexStride
is the stride in bytes between each index element.
Valid Usage
VUID-VkAccelerationStructureGeometrySpheresDataNV-None-10429
The spheres feature must be enabled
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexData-10430
The memory address in vertexData
must not be 0
or `NULL'
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexStride-10431
vertexStride
must be a multiple of:
- the size of the format specified in
vertexFormat
if that format is a packed format - the smallest component size specified in
vertexFormat
if that format is not a packed format ::
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexStride-10432
vertexStride
and radiusStride
must be less than or equal to
232-1
VUID-VkAccelerationStructureGeometrySpheresDataNV-radiusData-10433
The memory address in radiusData
must not be 0
or `NULL'
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexFormat-10434
The format features of
vertexFormat
must contain
VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
VUID-VkAccelerationStructureGeometrySpheresDataNV-radiusFormat-10435
The format features of
radiusFormat
must contain
VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV
VUID-VkAccelerationStructureGeometrySpheresDataNV-radiusData-10436
All values referenced in radiusData
must be greater than or equal
to 0
VUID-VkAccelerationStructureGeometrySpheresDataNV-indexData-10437
If indexData
is not NULL
, indexType
must be one of
VK_INDEX_TYPE_UINT16
or VK_INDEX_TYPE_UINT32
::
Valid Usage (Implicit)
VUID-VkAccelerationStructureGeometrySpheresDataNV-sType-sType
sType
must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexFormat-parameter
vertexFormat
must be a valid VkFormat value
VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexData-parameter
vertexData
must be a valid VkDeviceOrHostAddressConstKHR union
VUID-VkAccelerationStructureGeometrySpheresDataNV-radiusFormat-parameter
radiusFormat
must be a valid VkFormat value
VUID-VkAccelerationStructureGeometrySpheresDataNV-radiusData-parameter
radiusData
must be a valid VkDeviceOrHostAddressConstKHR union
VUID-VkAccelerationStructureGeometrySpheresDataNV-indexType-parameter
indexType
must be a valid VkIndexType value
VUID-VkAccelerationStructureGeometrySpheresDataNV-indexData-parameter
indexData
must be a valid VkDeviceOrHostAddressConstKHR union