VkAccelerationStructureGeometrySpheresDataNV(3)

# VkAccelerationStructureGeometrySpheresDataNV(3) Manual Page

## Name

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

## C Specification

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:

    // Provided by VK_NV_ray_tracing_linear_swept_spheres
    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;

## Members

- `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 of 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 of 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 a device or host address of memory containing index data for vertex and radius buffers for this geometry. When `indexType` is VK_INDEX_TYPE_NONE_KHR it must be `NULL`.

- `indexStride` is the stride in bytes between each index element.

## Description

Valid Usage

- VUID-VkAccelerationStructureGeometrySpheresDataNV-None-10429
  The spheres feature must be enabled

- 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-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
  `indexType` must be VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32, VK_INDEX_TYPE_NONE_KHR

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

Structure Chaining

Extends the structure

  - VkAccelerationStructureGeometryKHR

## See Also

VK_NV_ray_tracing_linear_swept_spheres, VkDeviceOrHostAddressConstKHR, VkDeviceSize, VkFormat, VkIndexType, VkStructureType

## Document Notes

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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0