Towards Practical Meshlet Compression
Bastian Kuth, Max Oberberger, Felix Kawala, Sander Reitter, Sebastian Michel, Matthäus Chajdas, Quirin Meyer
TL;DR
The paper tackles efficient compression for meshlet-based rendering in mesh-shading pipelines by designing a codec that orders triangles into generalized triangle strips (GTS) via a mixed integer linear program (MILP). It leverages index coherence within strips and memory-aligned crack-free attribute quantization to achieve up to $16:1$ index-buffer compression relative to the traditional vertex pipeline, while supporting practical deployment on GPUs. The work demonstrates fast decompression on contemporary GPUs and discusses memory-footprint tradeoffs, including GTS-Reuse variants and the impact on meshlet buffers. Overall, the approach provides a practical, high-throughput path for meshlet-based rendering with significant compression and performance benefits, complemented by supplemental code for GPU decoding, quantization, and MILP.
Abstract
We propose a codec specifically designed for meshlet compression, optimized for rapid data-parallel GPU decompression within a mesh shader. Our compression strategy orders triangles in optimal generalized triangle strips (GTSs), which we generate by formulating the creation as a mixed integer linear program (MILP). Our method achieves index buffer compression rates of 16:1 compared to the vertex pipeline and crack-free vertex attribute quantization based on user preference. The 15.5 million triangles of our teaser image decompress and render in 0.59 ms on an AMD Radeon RX 7900 XTX.
