Parallel view-dependent level-of-detail control
IEEE Trans. Vis. Comput. Graphics, 16(5), 2010.
Extended journal version with applications.
We present a scheme for view-dependent level-of-detail control that is implemented entirely on programmable
graphics hardware. Our scheme selectively refines and coarsens an arbitrary triangle mesh at the
granularity of individual vertices to create meshes that are highly adapted to dynamic view parameters.
Such fine-grain control has previously been demonstrated using sequential CPU algorithms. However, these
algorithms involve pointer-based structures with intricate dependencies that cannot be handled efficiently
within the restricted framework of GPU parallelism.We show that by introducing new data structures and
dependency rules, one can realize fine-grain progressive mesh updates as a sequence of parallel streaming
passes over the mesh elements. A major design challenge is that the GPU processes stream elements in
isolation. The mesh update algorithm has time complexity proportional to the selectively refined mesh, and
moreover can be amortized across several frames. The result is a single standard index buffer than can be
used directly for rendering. The static data structure is remarkably compact, requiring only 57% more
memory than an indexed triangle list. We demonstrate real-time exploration of complex models with normals
and textures, as well as shadowing and semitransparent surface rendering applications that make direct use
of the resulting dynamic index buffer.
This expanded version of the
includes new diagrams and demonstrates some more rendering applications.