Structures

VkAccelerationStructureGeometryLinearSweptSpheresDataNV

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

If VkAccelerationStructureGeometryLinearSweptSpheresDataNV is included in the pNext chain of a VkAccelerationStructureGeometryKHR structure, then that structures defines the linear swept sphere’s (LSS) geometry data.

The VkAccelerationStructureGeometryLinearSweptSpheresDataNV structure is defined as:

typedef struct VkAccelerationStructureGeometryLinearSweptSpheresDataNV {
    VkStructureType sType;
    const void* pNext;
    VkFormat vertexFormat;
    VkDeviceOrHostAddressConstKHR vertexData;
    VkDeviceSize vertexStride;
    VkFormat radiusFormat;
    VkDeviceOrHostAddressConstKHR radiusData;
    VkDeviceSize radiusStride;
    VkIndexType indexType;
    VkDeviceOrHostAddressConstKHR indexData;
    VkDeviceSize indexStride;
    VkRayTracingLssIndexingModeNV indexingMode;
    VkRayTracingLssPrimitiveEndCapsModeNV endCapsMode;
} VkAccelerationStructureGeometryLinearSweptSpheresDataNV;
  • 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 LSS vertex element.
  • vertexData is a device or host address to memory containing vertex data for this geometry.
  • vertexStride is the stride in bytes between each vertex element.
  • radiusFormat is the VkFormat of each LSS radius.
  • radiusData is a device or host address to memory containing LSS 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.
  • indexingMode is a VkRayTracingLssIndexingModeNV value specifying the mode of indexing.
  • endCapsMode is a VkRayTracingLssPrimitiveEndCapsModeNV value specifying the endcaps mode for LSS primitives.

If an index buffer is not specified in indexData, LSS primitives are rendered individually using subsequent pairs of vertices similar to VK_PRIMITIVE_TOPOLOGY_LINE_LIST.

Valid Usage

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexData-10420

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

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexStride-10421

vertexStride must be a multiple of:

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexStride-10422

vertexStride and radiusStride must be less than or equal to 232-1

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-vertexFormat-10423

The format features of vertexFormat must contain VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusFormat-10424

The format features of radiusFormat must contain VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusData-10425

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

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-radiusData-10426

All values referenced in radiusData must be greater than or equal to 0

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexingMode-10427

If indexingMode is VK_RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV, indexDatamust not be NULL

VUID-VkAccelerationStructureGeometryLinearSweptSpheresDataNV-indexData-10428

If indexData is not NULL, indexType must be one of VK_INDEX_TYPE_UINT16 or VK_INDEX_TYPE_UINT32

::