Package org.lwjgl.vulkan
Class NVRayTracingMotionBlur
java.lang.Object
org.lwjgl.vulkan.NVRayTracingMotionBlur
Ray tracing support in the API provides an efficient mechanism to intersect rays against static geometry, but rendering algorithms often want to support motion, which is more efficiently supported with motion-specific algorithms. This extension adds a set of mechanisms to support fast tracing of moving geometry:
- A ray pipeline trace call which takes a time parameter
- Flags to enable motion support in an acceleration structure
- Support for time-varying vertex positions in a geometry
- Motion instances to move existing instances over time
The motion represented here is parameterized across a normalized timestep between 0.0 and 1.0. A motion trace using OpTraceRayMotionNV provides a time within that normalized range to be used when intersecting that ray with geometry. The geometry can be provided with motion by a combination of adding a second vertex position for time of 1.0 using VkAccelerationStructureGeometryMotionTrianglesDataNV and providing multiple transforms in the instance using VkAccelerationStructureMotionInstanceNV.
- Name String
VK_NV_ray_tracing_motion_blur- Extension Type
- Device extension
- Registered Extension Number
- 328
- Revision
- 1
- Extension and Version Dependencies
VK_KHR_ray_tracing_pipeline- SPIR-V Dependencies
- Contact
- Eric Werness
Other Extension Metadata
- Last Modified Date
- 2021-06-16
- Interactions and External Dependencies
- This extension provides API support for
GL_NV_ray_tracing_motion_blur
- This extension provides API support for
- Contributors
- Eric Werness, NVIDIA
- Ashwin Lele, NVIDIA
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intExtendsVkAccelerationStructureCreateFlagBitsKHR.static final intVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometrystatic final intVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometrystatic final intVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometrystatic final intExtendsVkBuildAccelerationStructureFlagBitsKHR.static final StringThe extension name.static final intThe extension specification version.static final intExtendsVkPipelineCreateFlagBits.static final intExtendsVkStructureType.static final intExtendsVkStructureType.static final intExtendsVkStructureType. -
Method Summary
-
Field Details
-
VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION
public static final int VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSIONThe extension specification version.- See Also:
-
VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME
The extension name.- See Also:
-
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV
public static final int VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV
public static final int VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NVExtendsVkStructureType.Enum values:
- See Also:
-
VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV
public static final int VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NVExtendsVkBuildAccelerationStructureFlagBitsKHR.- See Also:
-
VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV
public static final int VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NVExtendsVkAccelerationStructureCreateFlagBitsKHR.- See Also:
-
VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
public static final int VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NVExtendsVkPipelineCreateFlagBits.- See Also:
-
VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV
public static final int VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NVVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometryDescription
ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NVspecifies that the instance is a static instance with no instance motion.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation between two matrices.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation in the SRT decomposition.
See Also
- See Also:
-
VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV
public static final int VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NVVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometryDescription
ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NVspecifies that the instance is a static instance with no instance motion.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation between two matrices.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation in the SRT decomposition.
See Also
- See Also:
-
VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV
public static final int VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NVVkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometryDescription
ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NVspecifies that the instance is a static instance with no instance motion.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation between two matrices.ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NVspecifies that the instance is a motion instance with motion specified by interpolation in the SRT decomposition.
See Also
- See Also:
-