| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_NV_ray_tracing_motion_blur
Description
Name
VK_NV_ray_tracing_motion_blur - device extension
VK_NV_ray_tracing_motion_blur
- Name String
VK_NV_ray_tracing_motion_blur
- Extension Type
- Device extension
- Registered Extension Number
- 328
- Revision
- 1
- Ratification Status
- Not ratified
- 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
- Contributors
- Eric Werness, NVIDIA
- Ashwin Lele, NVIDIA
Description
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 AccelerationStructureGeometryMotionTrianglesDataNV and
providing multiple transforms in the instance using
AccelerationStructureMotionInstanceNV.
New Structures
AccelerationStructureMotionInstanceNVAccelerationStructureSRTMotionInstanceNVSRTDataNVExtending
AccelerationStructureCreateInfoKHR:Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:
New Unions
New Enums
New Bitmasks
New Enum Constants
NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSIONExtending
AccelerationStructureCreateFlagBitsKHR:Extending
BuildAccelerationStructureFlagBitsKHR:Extending
PipelineCreateFlagBits:Extending
StructureType:
Issues
- What size is VkAccelerationStructureMotionInstanceNV?
- Added a note on the structure size and made the stride explicit in the language.
- Allow arrayOfPointers for motion TLAS?
- Yes, with a packed encoding to minimize the amount of data sent for metadata.
Version History
Revision 1, 2020-06-16 (Eric Werness, Ashwin Lele)
- Initial external release
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
- data PhysicalDeviceRayTracingMotionBlurFeaturesNV = PhysicalDeviceRayTracingMotionBlurFeaturesNV {}
- data AccelerationStructureGeometryMotionTrianglesDataNV = AccelerationStructureGeometryMotionTrianglesDataNV {}
- data AccelerationStructureMotionInfoNV = AccelerationStructureMotionInfoNV {}
- data SRTDataNV = SRTDataNV {}
- data AccelerationStructureSRTMotionInstanceNV = AccelerationStructureSRTMotionInstanceNV {}
- data AccelerationStructureMatrixMotionInstanceNV = AccelerationStructureMatrixMotionInstanceNV {}
- data AccelerationStructureMotionInstanceNV = AccelerationStructureMotionInstanceNV {}
- data AccelerationStructureMotionInstanceDataNV
- newtype AccelerationStructureMotionInfoFlagsNV = AccelerationStructureMotionInfoFlagsNV Flags
- newtype AccelerationStructureMotionInstanceFlagsNV = AccelerationStructureMotionInstanceFlagsNV Flags
- newtype AccelerationStructureMotionInstanceTypeNV where
- AccelerationStructureMotionInstanceTypeNV Int32
- pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV :: AccelerationStructureMotionInstanceTypeNV
- pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV :: AccelerationStructureMotionInstanceTypeNV
- pattern ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV :: AccelerationStructureMotionInstanceTypeNV
- type NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION = 1
- pattern NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION :: Integral a => a
- type NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur"
- pattern NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME :: (Eq a, IsString a) => a
- data TransformMatrixKHR = TransformMatrixKHR {
- matrixRow0 :: (Float, Float, Float, Float)
- matrixRow1 :: (Float, Float, Float, Float)
- matrixRow2 :: (Float, Float, Float, Float)
- data AccelerationStructureInstanceKHR = AccelerationStructureInstanceKHR {}
- data DeviceOrHostAddressConstKHR
- newtype GeometryInstanceFlagBitsKHR where
- GeometryInstanceFlagBitsKHR Flags
- pattern GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXT :: GeometryInstanceFlagBitsKHR
- pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
- pattern GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_BIT_EXT :: GeometryInstanceFlagBitsKHR
- pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR :: GeometryInstanceFlagBitsKHR
- pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR :: GeometryInstanceFlagBitsKHR
- pattern GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR :: GeometryInstanceFlagBitsKHR
- type GeometryInstanceFlagsKHR = GeometryInstanceFlagBitsKHR
- newtype BuildAccelerationStructureFlagBitsKHR where
- BuildAccelerationStructureFlagBitsKHR Flags
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXT :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXT :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXT :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- pattern BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR :: BuildAccelerationStructureFlagBitsKHR
- type BuildAccelerationStructureFlagsKHR = BuildAccelerationStructureFlagBitsKHR
- newtype AccelerationStructureCreateFlagBitsKHR where
- AccelerationStructureCreateFlagBitsKHR Flags
- pattern ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT :: AccelerationStructureCreateFlagBitsKHR
- pattern ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR :: AccelerationStructureCreateFlagBitsKHR
- pattern ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV :: AccelerationStructureCreateFlagBitsKHR
- type AccelerationStructureCreateFlagsKHR = AccelerationStructureCreateFlagBitsKHR
Documentation
data PhysicalDeviceRayTracingMotionBlurFeaturesNV Source #
VkPhysicalDeviceRayTracingMotionBlurFeaturesNV - Structure describing the ray tracing motion blur features that can be supported by an implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceRayTracingMotionBlurFeaturesNV 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
PhysicalDeviceRayTracingMotionBlurFeaturesNV, 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
Constructors
| PhysicalDeviceRayTracingMotionBlurFeaturesNV | |
Fields | |
Instances
data AccelerationStructureGeometryMotionTrianglesDataNV Source #
VkAccelerationStructureGeometryMotionTrianglesDataNV - Structure specifying vertex motion in a bottom-level acceleration structure
Description
If AccelerationStructureGeometryMotionTrianglesDataNV is included in
the pNext chain of a
AccelerationStructureGeometryTrianglesDataKHR
structure, the basic vertex positions are used for the position of the
triangles in the geometry at time 0.0 and the vertexData in
AccelerationStructureGeometryMotionTrianglesDataNV is used for the
vertex positions at time 1.0, with positions linearly interpolated at
intermediate times.
Indexing for AccelerationStructureGeometryMotionTrianglesDataNV
vertexData is equivalent to the basic vertex position data.
Valid Usage (Implicit)
See Also
VK_NV_ray_tracing_motion_blur,
DeviceOrHostAddressConstKHR,
StructureType
Constructors
| AccelerationStructureGeometryMotionTrianglesDataNV | |
Fields
| |
Instances
data AccelerationStructureMotionInfoNV Source #
VkAccelerationStructureMotionInfoNV - Structure specifying the parameters of a newly created acceleration structure object
Valid Usage (Implicit)
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInfoFlagsNV,
StructureType
Constructors
| AccelerationStructureMotionInfoNV | |
Fields
| |
Instances
VkSRTDataNV - Structure specifying a transform in SRT decomposition
Description
This transform decomposition consists of three elements. The first is a matrix S, consisting of a scale, shear, and translation, usually used to define the pivot point of the following rotation. This matrix is constructed from the parameters above by:
[S = left( begin{matrix} sx & a & b & pvx -- 0 & sy & c & pvy -- 0 & 0 & sz & pvz
Constructors
| SRTDataNV | |
Fields
| |
Instances
| Eq SRTDataNV Source # | |
| Storable SRTDataNV Source # | |
| Show SRTDataNV Source # | |
| FromCStruct SRTDataNV Source # | |
| ToCStruct SRTDataNV Source # | |
| Zero SRTDataNV Source # | |
data AccelerationStructureSRTMotionInstanceNV Source #
VkAccelerationStructureSRTMotionInstanceNV - Structure specifying a single acceleration structure SRT motion instance for building into an acceleration structure geometry
Description
The C language specification does not define the ordering of bit-fields, but in practice, this structure produces the correct layout with existing compilers. The intended bit pattern is for the following:
If a compiler produces code that diverges from that pattern, applications must employ another method to set values according to the correct bit pattern.
The transform for a SRT motion instance at a point in time is derived
from component-wise linear interpolation of the two SRT transforms. That
is, for a time in [0,1] the resulting transform is
transformT0× (1 -time) +transformT1×time
Valid Usage (Implicit)
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInstanceDataNV,
GeometryInstanceFlagsKHR,
SRTDataNV
Constructors
| AccelerationStructureSRTMotionInstanceNV | |
Fields
| |
Instances
data AccelerationStructureMatrixMotionInstanceNV Source #
VkAccelerationStructureMatrixMotionInstanceNV - Structure specifying a single acceleration structure matrix motion instance for building into an acceleration structure geometry
Description
The C language specification does not define the ordering of bit-fields, but in practice, this structure produces the correct layout with existing compilers. The intended bit pattern is for the following:
If a compiler produces code that diverges from that pattern, applications must employ another method to set values according to the correct bit pattern.
The transform for a matrix motion instance at a point in time is derived
by component-wise linear interpolation of the two transforms. That is,
for a time in [0,1] the resulting transform is
transformT0× (1 -time) +transformT1×time
Valid Usage (Implicit)
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInstanceDataNV,
GeometryInstanceFlagsKHR,
TransformMatrixKHR
Constructors
| AccelerationStructureMatrixMotionInstanceNV | |
Fields
| |
Instances
data AccelerationStructureMotionInstanceNV Source #
VkAccelerationStructureMotionInstanceNV - Structure specifying a single acceleration structure motion instance for building into an acceleration structure geometry
Description
If writing this other than with a standard C compiler, note that the final structure should be 152 bytes in size.
Valid Usage (Implicit)
-
typemust be a validAccelerationStructureMotionInstanceTypeNVvalue
-
flagsmust be0 -
If
typeisACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV, thestaticInstancemember ofdatamust be a validAccelerationStructureInstanceKHRstructure -
If
typeisACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV, thematrixMotionInstancemember ofdatamust be a validAccelerationStructureMatrixMotionInstanceNVstructure -
If
typeisACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV, thesrtMotionInstancemember ofdatamust be a validAccelerationStructureSRTMotionInstanceNVstructure
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInstanceDataNV,
AccelerationStructureMotionInstanceFlagsNV,
AccelerationStructureMotionInstanceTypeNV
Constructors
| AccelerationStructureMotionInstanceNV | |
Fields
| |
Instances
data AccelerationStructureMotionInstanceDataNV Source #
Constructors
| StaticInstance AccelerationStructureInstanceKHR | |
| MatrixMotionInstance AccelerationStructureMatrixMotionInstanceNV | |
| SrtMotionInstance AccelerationStructureSRTMotionInstanceNV |
Instances
newtype AccelerationStructureMotionInfoFlagsNV Source #
VkAccelerationStructureMotionInfoFlagsNV - Reserved for future use
Description
AccelerationStructureMotionInfoFlagsNV is a bitmask type for setting a
mask, but is currently reserved for future use.
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInfoNV,
Flags
Constructors
| AccelerationStructureMotionInfoFlagsNV Flags |
Instances
newtype AccelerationStructureMotionInstanceFlagsNV Source #
VkAccelerationStructureMotionInstanceFlagsNV - Reserved for future use
Description
AccelerationStructureMotionInstanceFlagsNV is a bitmask type for
setting a mask, but is currently reserved for future use.
See Also
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInstanceNV,
Flags
Constructors
| AccelerationStructureMotionInstanceFlagsNV Flags |
Instances
newtype AccelerationStructureMotionInstanceTypeNV Source #
VkAccelerationStructureMotionInstanceTypeNV - Enum specifying a type of acceleration structure motion instance data for building into an acceleration structure geometry
Description
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
VK_NV_ray_tracing_motion_blur,
AccelerationStructureMotionInstanceNV
Constructors
| AccelerationStructureMotionInstanceTypeNV Int32 |
Bundled Patterns
Instances
pattern NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION :: Integral a => a Source #
type NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ray_tracing_motion_blur" Source #
pattern NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
data TransformMatrixKHR Source #
VkTransformMatrixKHR - Structure specifying a 3x4 affine transformation matrix
Valid Usage
See Also
VK_KHR_acceleration_structure,
VK_NV_ray_tracing,
AccelerationStructureInstanceKHR,
AccelerationStructureMatrixMotionInstanceNV,
VkPartitionedAccelerationStructureWriteInstanceDataNV
Constructors
| TransformMatrixKHR | |
Fields
| |
Instances
data AccelerationStructureInstanceKHR Source #
VkAccelerationStructureInstanceKHR - Structure specifying a single acceleration structure instance for building into an acceleration structure geometry
Description
The C language specification does not define the ordering of bit-fields, but in practice, this structure produces the correct layout with existing compilers. The intended bit pattern is for the following:
If a compiler produces code that diverges from that pattern, applications must employ another method to set values according to the correct bit pattern.
Valid Usage (Implicit)
See Also
VK_KHR_acceleration_structure,
VK_NV_ray_tracing,
AccelerationStructureMotionInstanceDataNV,
GeometryInstanceFlagsKHR, TransformMatrixKHR
Constructors
| AccelerationStructureInstanceKHR | |
Fields
| |
Instances
data DeviceOrHostAddressConstKHR Source #
Constructors
| DeviceAddressConst DeviceAddress | |
| HostAddressConst (Ptr ()) |
Instances
| Show DeviceOrHostAddressConstKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_acceleration_structure Methods showsPrec :: Int -> DeviceOrHostAddressConstKHR -> ShowS # show :: DeviceOrHostAddressConstKHR -> String # showList :: [DeviceOrHostAddressConstKHR] -> ShowS # | |
| ToCStruct DeviceOrHostAddressConstKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_acceleration_structure Methods withCStruct :: DeviceOrHostAddressConstKHR -> (Ptr DeviceOrHostAddressConstKHR -> IO b) -> IO b Source # pokeCStruct :: Ptr DeviceOrHostAddressConstKHR -> DeviceOrHostAddressConstKHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr DeviceOrHostAddressConstKHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr DeviceOrHostAddressConstKHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
| Zero DeviceOrHostAddressConstKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_acceleration_structure Methods | |
newtype GeometryInstanceFlagBitsKHR Source #
VkGeometryInstanceFlagBitsKHR - Instance flag bits
Description
GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHRdisables face culling for this instance.
GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHRspecifies that the facing determination for geometry in this instance is inverted. Because the facing is determined in object space, an instance transform does not change the winding, but a geometry transform does.GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHRcauses this instance to act as thoughGEOMETRY_OPAQUE_BIT_KHRwere specified on all geometries referenced by this instance. This behavior can be overridden by the SPIR-VNoOpaqueKHRray flag.GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHRcauses this instance to act as thoughGEOMETRY_OPAQUE_BIT_KHRwere not specified on all geometries referenced by this instance. This behavior can be overridden by the SPIR-VOpaqueKHRray flag.
GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR and
GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR must not be used in the same
flag.
See Also
VK_KHR_acceleration_structure,
VK_NV_ray_tracing,
GeometryInstanceFlagsKHR
Constructors
| GeometryInstanceFlagBitsKHR Flags |
Bundled Patterns
Instances
newtype BuildAccelerationStructureFlagBitsKHR Source #
VkBuildAccelerationStructureFlagBitsKHR - Bitmask specifying additional parameters for acceleration structure builds
Description
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHRspecifies that the specified acceleration structure can be updated with amodeofBUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHRinAccelerationStructureBuildGeometryInfoKHRor anupdateofTRUEincmdBuildAccelerationStructureNV. For sphere and LSS primitives, only positions and radii may be updated, the provided index buffers and flags must remain unchanged from the initial build.
BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHRspecifies that the specified acceleration structure can act as the source for a copy acceleration structure command withmodeofCOPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHRto produce a compacted acceleration structure.BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHRspecifies that the given acceleration structure build should prioritize trace performance over build time.BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHRspecifies that the given acceleration structure build should prioritize build time over trace performance.BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHRspecifies that this acceleration structure should minimize the size of the scratch memory and the final result acceleration structure, potentially at the expense of build time or trace performance.BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_BIT_EXTspecifies that the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_BIT_EXTspecifies that the data of the opacity micromaps associated with the specified acceleration structure may change with an acceleration structure update.BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_BIT_EXTspecifies that the specified acceleration structure may be referenced in an instance withGEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_BIT_EXTset.- VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_CLUSTER_OPACITY_MICROMAPS_BIT_NV specifies that opacity micromaps may be associated with the given cluster acceleration structure.
BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_BIT_KHRspecifies that the specified acceleration structure can be used when fetching the vertex and radius positions of a hit LSS or sphere primitive, or vertex positions of a hit triangle.BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_BIT_NVspecifies that the displacement micromaps associated with the specified acceleration structure may change with an acceleration structure update.
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR may take more
time and memory than a normal build, and so should only be used when
those features are needed.
BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR and
BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR are allowed to
be used together. In that case, the result of the compaction copy is
used as the source of a build with mode of
BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR to perform the compacted
update.
See Also
VK_KHR_acceleration_structure,
VK_NV_ray_tracing,
BuildAccelerationStructureFlagsKHR
Constructors
| BuildAccelerationStructureFlagBitsKHR Flags |
Bundled Patterns
Instances
newtype AccelerationStructureCreateFlagBitsKHR Source #
VkAccelerationStructureCreateFlagBitsKHR - Bitmask specifying additional creation parameters for acceleration structure
Description
ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHRspecifies that the acceleration structure’s address can be saved and reused on a subsequent run.
ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXTspecifies that the acceleration structure can be used with descriptor buffers when capturing and replaying (e.g. for trace capture and replay), seeOpaqueCaptureDescriptorDataCreateInfoEXTfor more detail.ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NVspecifies that the acceleration structure will be used with motion information, seeAccelerationStructureMotionInfoNVfor more detail.
See Also
VK_KHR_acceleration_structure,
AccelerationStructureCreateFlagsKHR
Constructors
| AccelerationStructureCreateFlagBitsKHR Flags |
Bundled Patterns