Common Subtree Merging Compressed Opacity Micromaps
Left: Forest scene with 1.2 million unique alpha masked triangles and 171 million alpha masked texels. Our compressed micromaps store high-resolution opacity information, where each triangle is subdivided into one million (410) sub-triangles, making it possible to describe complex, detailed shapes. The compressed micromaps for the scene occupy less than 6 MiB in total but are still efficient to access. At 1920 × 1080, ray tracing primary visibility takes ≲ 2ms and one shadow ray per pixel is ≲ 1ms on an NVIDIA GeForce RTX 5070 Ti, for a worst case performance overhead of and over uncompressed micromaps (175 MiB), respectively. Right: Our micromap representation includes hierarchical aggregated opacity. It permits us to estimate the opacity at intermediate subdivision levels. The left tree uses the hierarchical opacity with alpha blending to significantly reduce aliasing; the right tree is rendered with just high-resolution micromaps.
Abstract
Alpha masked geometry is very prevalent in 3D scenes. It is commonly used to express complex shapes while limiting the need for additional polygonal geometry. A predominant use case is foliage rendering, where leaves often have complex and curved edges with fine detail. Opacity micromaps (OMMs) provide a substantial improvement to ray tracing alpha masked geometry. We present a novel method of lossless compression for opacity micromaps using common subtree merging that supports real-time random access without decompression. We demonstrate reductions in memory usage of up to two orders of magnitude compared to standard OMMs, with similar rendering performance. Our method includes aggregate hierarchical opacity for OMMs. With it, we can estimate the opacity at intermediate levels of detail, making it possible to reduce aliasing from fine detail. Further, we demonstrate that our compression can be applied to binary alpha mask textures, requiring as little as 0.05 bits per texel.