In-Depth Buffers

Published in Proceedings of the ACM on Computer Graphics and Interactive Techniques, 2018

Songfang Han, Ge Chen, Diego Nehab and Pedro Sander. Proceedings of the ACM on Computer Graphics and Interactive Techniques (PACM), 2018.

Abstract

We present a new approach for rendering all triangles in a model in front-to-back order without the need for sorting at runtime. The method can be used for rendering order-dependent transparency effects, or to minimize overdraw, for example. The key distinguishing component in the approach is its negligible runtime cost and therefore the ease with which it can be incorporated into rendering engines. More specifically, given a viewpoint, the runtime simply selects a presorted triangle list, which we call \emph{in-depth buffers}, to be rendered at full speed. These in-depth buffers are even optimized for post-transform vertex cache efficiency. The result is unmatched in front-to-back rendering performance. The difficulty is computing the smallest set of in-depth buffers required. This reduces to a graph problem that we prove to be NP-hard. Nevertheless, we have found an optimization heuristic that produces good results, particularly when visually imperceptible fragment ordering mistakes are allowed.

Paper Video Code

Citation: Songfang Han Ge Chen, Diego Nehab and Pedro Sander, In-Depth Buffers, Proceedings of the ACM on Computer Graphics and Interactive Techniques (PACM), 2018.