Efficient traversal of mesh edges using adjacency primitives
ACM Trans. Graphics (SIGGRAPH Asia), 27(5), 2008.
Fast rendering of shadow volumes, silhouettes, and motion blur.
Abstract:
Processing of mesh edges lies at the core of many advanced real-time rendering techniques, ranging from
shadow and silhouette computations, to motion blur and fur rendering. We present a scheme for efficient
traversal of mesh edges that builds on the adjacency primitives and programmable geometry shaders
introduced in recent graphics hardware. Our scheme aims to minimize the number of primitives while
maximizing SIMD parallelism. These objectives reduce to a set of discrete optimization problems on the
dual graph of the mesh, and we develop practical solutions to these graph problems. In addition, we extend
two existing vertex cache optimization algorithms to produce cache-efficient traversal orderings for
adjacency primitives. We demonstrate significant runtime speedups for several practical real-time
rendering algorithms.
Hindsights:
It would be nice to extend this approach to the larger patch primitives
introduced in the
DirectX 11 hull shader.