Structures

VkAccelerationStructureGeometrySpheresDataNV

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

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 is NULL 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 is NULL 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-vertexData-10430

The memory address in vertexData must not be 0 or `NULL'

VUID-VkAccelerationStructureGeometrySpheresDataNV-vertexStride-10431

vertexStride must be a multiple of:

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

::