Fast triangle reordering for vertex locality and reduced overdraw
Pedro V. Sander, Diego Nehab, Joshua Barczak · 2007
Vertex cache efficiency and overdraw. Views of a 40k triangle Dragon model are shown, where red regions represent cache misses, and dark regions represent high overdraw rate. As a preprocessing stage, real-time rendering applications optimize the order triangles areissuedtoreducetheaverageposttransform vertex cache miss ratio (ACMR) (a-c). Recent algorithms also minimize the overdraw ratios (OVR) (d-e) with little cache degradation. We present novel algorithms that result in excellent vertex cache efficiency (c) as well as low overdraw (e). Our methods are significantly faster than previous approaches (compare timings), and are suitable for run-time execution. We present novel algorithms that optimize the order in which triangles are rendered, to improve post-transform vertex cache efficiency as well as for view-independent overdraw reduction. The resulting triangle orders perform on par with previous methods, but are orders magnitude faster to compute. The improvements in processing speed allow us to perform the optimization right after a model is loaded, when more information on the host hardware is available. This allows our vertex cache optimization to often outperform other methods. In fact, our algorithms can even be executed interactively, allowing for re-optimization in case of changes to geometry or topology, which happen often in CAD/CAM applications. We believe that most real-time rendering applications will immediately benefit from these new results. 1