Extension and Version Dependencies
-
This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
Contact
-
Christoph Kubisch pixeljetstream
-
Eric Werness ewerness-nv
Other Extension Metadata
- Last Modified Date
-
2023-03-17
- Interactions and External Dependencies
-
TBD
- Contributors
-
-
Christoph Kubisch, NVIDIA
-
Eric Werness, NVIDIA
-
Description
Ray tracing can very efficiently render from geometry which has very fine detail, but when using only a basic triangle representation, memory consumption can be an issue. This extension adds the ability to add a displacement map to add more detail to triangles in an acceleration structure with an efficient in-memory format. The format is externally visible to allow the application to compress its internal geometry representations into the compressed format ahead of time. This format adds displacements along a defined vector to subtriangle vertices which are subdivided from the main triangles.
This extension provides:
-
a new VkMicromapTypeEXT format for the displacement micromap,
-
a structure to extend VkAccelerationStructureGeometryTrianglesDataKHR to attach a displacement micromap to the geometry of the acceleration structure,
-
enums extending VkBuildAccelerationStructureFlagBitsKHR to allow for updates.
New Structures
-
Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
-
Extending VkPhysicalDeviceProperties2:
New Enum Constants
-
VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME
-
VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION
-
Extending VkBuildAccelerationStructureFlagBitsKHR:
-
VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV
-
-
Extending VkMicromapTypeEXT:
-
VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV
-
-
Extending VkPipelineCreateFlagBits:
-
VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV
-
Issues
(1) What is the status of this extension?
-
Provisional and expected to change. The broad structure and encoding format are stable, but there will likely be changes to the structures, enumerant values, and shader interface.
Version History
-
Revision 1, 2023-03-17 (Eric Werness)
-
Initial public revision
-
-
Revision 2, 2023-07-07 (Eric Werness)
-
Add shader support for decode intrinsics
-
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.