VK_NV_ray_tracing_linear_swept_spheres

Other Extension Metadata

Last Modified Date

2025-01-03

Interactions and External Dependencies
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

New Enums

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

New SPIR-V Capabilities

Version History

  • Revision 1, 2025-01-03 (Vikram Kushwaha)
    • Initial draft