Geometric detail in computer graphics has increased exponentially in the past 30 years. To render high quality assets with higher instance counts and greater triangle density, NVIDIA introduced RTX Mega Geometry. RTX Mega Geometry is available today through NVIDIA RTX Kit, a suite of rendering technologies to ray trace games with AI, render scenes with immense geometry, and create game characters with photorealistic visuals.
As part of this release, new Vulkan samples have been made available to all developers. These open-source samples show how you can use clusters of triangles to build acceleration structures faster, render massive amounts of animated geometry, path trace models with streaming level of detail (LoD), and more. NVIDIA is also releasing two libraries to help process geometry into clusters. For more information on RTX Mega Geometry, see the documentation on GitHub. For more information on individual Vulkan samples, visit each repository.
Sample: Animated clusters
This sample introduces clusters and shows how to use the VK_NV_cluster_acceleration_structure extension to ray trace massive, animated scenes.. With NVIDIA RTX Mega Geometry, acceleration structures for animated objects can be built faster than using previous APIs. It also shows how clusters can be rasterized using VK_EXT_mesh_shader
.

For more information, see the vk_animated_clusters GitHub repo.
Sample: Partitioned top-level acceleration structure
Frequently, only parts of a scene change between frames. The new VK_NV_partitioned_acceleration_structure extension enables apps to rebuild parts of a Top-Level Acceleration Structure (TLAS) when part of a scene changes, rather than the whole thing. The partitioned TLAS sample showcases this extension using a simple simulation of more than more than 100K physics objects.

For more information, see the vk_partitioned_tlas GitHub repo.
Sample: Dynamic tessellation for clusters
This sample showcases how to use clusters and VK_NV_cluster_acceleration_structure to path trace dynamic tessellation with displacement, which requires per-frame generation of geometry. It can also render the content using VK_NV_mesh_shader
.

For more information, see the vk_tessellated_clusters GitHub repo.
Sample: Level of detail for clusters
This sample showcases a continuous LoD technique using clusters that uses VK_NV_cluster_acceleration_structure for ray tracing. It can also rasterize the content using VK_NV_mesh_shader
. In addition, the sample implements an on-demand streaming system from RAM to VRAM for the geometry.

For more information, see the vk_lod_clusters GitHub repo.
Library: Cluster builder
nv_cluster_builder is a small generic spatial clustering C++ library, created to cluster triangle meshes for ray tracing. It implements an algorithm similar to the recursive node-splitting techniques sometimes used to create bounding volume hierarchies. While it is limited to axis-aligned splits, its outputs work well for ray tracing.

For more information, see the nv_cluster_builder GitHub repo.
Library: Level of detail cluster builder
nv_lod_cluster_builder is a continuous LoD mesh library that enables fine-grained control over geometric detail within a mesh, compared to traditional discrete LoD. Clusters of triangles are carefully precomputed by decimating the original mesh in a way that they can be seamlessly combined across different LoD levels. At rendering time, a subset of these clusters can be selected to adaptively provide the required amount of detail as the camera navigates the scene.

For more information, see the nv_cluster_lod_builder GitHub repo.
These RTX Mega Geometry samples are part of NVIDIA RTX Kit. Learn more about RTX Kit technologies at the NVIDIA RTX Kit website today. Ask questions, provide feedback, and discuss with other developers on the NVIDIA Developer Forums for ray tracing.