vulkan
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Description

Name

VK_NV_ray_tracing_linear_swept_spheres - device extension

VK_NV_ray_tracing_linear_swept_spheres

Name String
VK_NV_ray_tracing_linear_swept_spheres
Extension Type
Device extension
Registered Extension Number
430
Revision
1
Ratification Status
Not ratified
Extension and Version Dependencies
VK_KHR_ray_tracing_pipeline
SPIR-V Dependencies
Contact
Extension Proposal
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

New or Modified Built-In Variables

New SPIR-V Capabilities

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.

Synopsis

Documentation

data AccelerationStructureGeometryLinearSweptSpheresDataNV Source #

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

Description

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

Valid Usage

Valid Usage (Implicit)

See Also

VK_NV_ray_tracing_linear_swept_spheres, DeviceOrHostAddressConstKHR, DeviceSize, Format, IndexType, RayTracingLssIndexingModeNV, RayTracingLssPrimitiveEndCapsModeNV, StructureType

Constructors

AccelerationStructureGeometryLinearSweptSpheresDataNV 

Fields

data AccelerationStructureGeometrySpheresDataNV Source #

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

Valid Usage

  • The spheres feature must be enabled

Valid Usage (Implicit)

See Also

VK_NV_ray_tracing_linear_swept_spheres, DeviceOrHostAddressConstKHR, DeviceSize, Format, IndexType, StructureType

Constructors

AccelerationStructureGeometrySpheresDataNV 

Fields

data PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source #

VkPhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV - Structure describing the ray tracing linear swept spheres features that can be supported by an implementation

Members

This structure describes the following features:

Description

If the PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a Device with any features described by PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, it must add an instance of the structure, with the desired feature members set to TRUE, to the pNext chain of DeviceCreateInfo when creating the Device.

Valid Usage (Implicit)

See Also

VK_NV_ray_tracing_linear_swept_spheres, Bool32, StructureType

Constructors

PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV 

Fields

  • spheres :: Bool

    spheres indicates whether the implementation supports sphere primitives in ray tracing.

  • linearSweptSpheres :: Bool

    linearSweptSpheres indicates whether the implementation supports linear swept sphere primitives in ray tracing.

Instances

Instances details
Eq PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Storable PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Show PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

FromCStruct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

ToCStruct PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Zero PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

newtype RayTracingLssIndexingModeNV Source #

VkRayTracingLssIndexingModeNV - LSS indexing mode

Description

  • RAY_TRACING_LSS_INDEXING_MODE_SUCCESSIVE_NV specifies a successive implicit indexing format, in which each LSS primitive is defined by two successive positions and radii, (k, k + 1), where k is a single index provided in the index buffer. In this indexing scheme, there is a 1:1 mapping between the index buffer and primitive index within the geometry.

See Also

VK_NV_ray_tracing_linear_swept_spheres, AccelerationStructureGeometryLinearSweptSpheresDataNV

Instances

Instances details
Eq RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Ord RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Storable RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Read RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Show RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Zero RayTracingLssIndexingModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

newtype RayTracingLssPrimitiveEndCapsModeNV Source #

VkRayTracingLssPrimitiveEndCapsModeNV - LSS endcaps mode

Description

See Also

VK_NV_ray_tracing_linear_swept_spheres, AccelerationStructureGeometryLinearSweptSpheresDataNV

Instances

Instances details
Eq RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Ord RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Storable RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Read RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Show RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

Zero RayTracingLssPrimitiveEndCapsModeNV Source # 
Instance details

Defined in Vulkan.Extensions.VK_NV_ray_tracing_linear_swept_spheres

type NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME = "VK_NV_ray_tracing_linear_swept_spheres" Source #

newtype GeometryTypeKHR Source #

VkGeometryTypeKHR - Enum specifying which type of geometry is provided

Description

See Also

VK_KHR_acceleration_structure, VK_NV_ray_tracing, AccelerationStructureGeometryKHR, GeometryNV

Constructors

GeometryTypeKHR Int32 

Instances

Instances details
Eq GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Ord GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Storable GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Read GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Show GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure

Zero GeometryTypeKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_acceleration_structure