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. 
Deprecation State
- 
Deprecated by VK_NV_cluster_acceleration_structure extension 
Contact
- 
Christoph Kubisch [GitHub]pixeljetstream 
- 
Eric Werness [GitHub]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_BIT_NV
- 
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?
- 
Deprecated. The VK_NV_cluster_acceleration_structure extension is not a one-to-one replacement for this extension but enables similar performance improvements for high-tessellation geometry and is considered the preferred direction to improve high-tessellation geometry performance. 
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.