# VK_NV_ray_tracing_linear_swept_spheres(3) Manual Page

## Name

VK_NV_ray_tracing_linear_swept_spheres - device extension

Loading… please wait.

## Registered Extension Number

430

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_ray_tracing_pipeline

## SPIR-V Dependencies

- SPV_NV_linear_swept_spheres

## Contact

- Vikram Kushwaha [GitHub]vkushwaha

## Extension Proposal

VK_NV_ray_tracing_linear_swept_spheres

## Other Extension Metadata

Last Modified Date

  2025-01-03

Interactions and External Dependencies

  - This extension requires `SPV_NV_linear_swept_spheres`

  - This extension provides API support for `GL_NV_linear_swept_spheres`

Contributors

  - Vikram Kushwaha, NVIDIA

  - Eric Werness, NVIDIA

  - Daniel Koch, NVIDIA

  - Ashwin Lele, NVIDIA

  - Nathan Morrical, NVIDIA

## Description

This extension adds two new primitives for ray tracing: a sphere primitive and a linear swept sphere (LSS) primitive. The purpose of the LSS primitive is to enable rendering of high quality hair and fur using a compact primitive representation encoded in the acceleration structure. Sphere primitives are defined by a position and a radius and are a subset of LSS, but are useful in their own right, for example for particle systems.

This extension adds support for the following SPIR-V extension in Vulkan:

- `SPV_NV_linear_swept_spheres`

## New Structures

- Extending VkAccelerationStructureGeometryKHR:

  - VkAccelerationStructureGeometryLinearSweptSpheresDataNV

  - VkAccelerationStructureGeometrySpheresDataNV

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV

## New Enums

- VkRayTracingLssIndexingModeNV

- VkRayTracingLssPrimitiveEndCapsModeNV

## New Enum Constants

- `VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME`

- `VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION`

- Extending VkFormatFeatureFlagBits2:

  - `VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_RADIUS_BUFFER_BIT_NV`

- Extending VkGeometryTypeKHR:

  - `VK_GEOMETRY_TYPE_LINEAR_SWEPT_SPHERES_NV`

  - `VK_GEOMETRY_TYPE_SPHERES_NV`

- Extending VkPipelineCreateFlagBits2:

  - `VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_SPHERES_AND_LINEAR_SWEPT_SPHERES_BIT_NV`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_LINEAR_SWEPT_SPHERES_DATA_NV`

  - `VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_SPHERES_DATA_NV`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_LINEAR_SWEPT_SPHERES_FEATURES_NV`

## New or Modified Built-In Variables

- `HitIsSphereNV`

- `HitIsLSSNV`

- `HitSpherePositionNV`

- `HitSphereRadiusNV`

- `HitLSSPositionsNV`

- `HitLSSRadiiNV`

## New SPIR-V Capabilities

- `RayTracingSpheresGeometryNV`

- `RayTracingLinearSweptSpheresGeometryNV`

## Version History

- Revision 1, 2025-01-03 (Vikram Kushwaha)

  - Initial draft

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0