// Copyright (c) 2021-2023 NVIDIA Corporation // // SPDX-License-Identifier: CC-BY-4.0 include::{generated}/meta/{refprefix}VK_NV_displacement_micromap.adoc[] === 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 elink:VkMicromapTypeEXT format for the displacement micromap, * a structure to extend slink:VkAccelerationStructureGeometryTrianglesDataKHR to attach a displacement micromap to the geometry of the acceleration structure, * enums extending elink:VkBuildAccelerationStructureFlagBitsKHR to allow for updates. include::{generated}/interfaces/VK_NV_displacement_micromap.adoc[] === 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