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
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.
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.