Billions of Triangles Redux
2 days ago
- NVIDIA released an updated vk_lod_clusters sample featuring a detailed Zorah scene with 1.6B triangles, using clustered raytracing and hierarchical clustered LOD.
- meshoptimizer compression extensions (EXT_meshopt_compression) halve geometry size (~32 GB vs 63.3 GB raw) for the scene, with lossless compression and fast decoding.
- A new meshlet codec in meshoptimizer 1.1 compresses triangle indices to about 6.5 bits per triangle, reducing index storage from 9.8 GB to 2.6 GB with extremely fast GPU-friendly decoding.
- Attribute-aware simplification improvements include a stable permissive mode and a new 'SimplifyErrorClamped' flag that clamps attribute error to triangle area, significantly reducing streaming memory requirements.
- For foliage, a 'simplify_dilate_borders' option preserves coverage by redistributing lost surface area to boundary edges, preventing erosion of leaves at distance.
- Overall processing time is about 3 minutes 45 seconds on 16 cores, and memory footprint for geometry dropped from 996 MB to 678 MB with clamped error.
- Lossy compression options (octahedral filter, exponential filter) could reduce geometry to ~15.3 GB in glTF, with potential for further size reduction.
- meshoptimizer's algorithms are versatile and not tied exclusively to clustered LOD; the technology is interesting but not the final solution for geometry rendering.