Registered Extension Number

398

Revision

2

Ratification Status

Not ratified

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

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:

New Structures

New Enums

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

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.

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0