Parallel view-dependent refinement of progressive meshes
Symposium on Interactive 3D Graphics and Games 2009, 169-176.
Selective refinement of irregular mesh hierarchy using GPU streaming passes.
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 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.
We were invited to write an expanded version
of this conference paper in the IEEE Trans. Vis. Comput. Graphics journal.