THESIS
2009
xi, 57 p. : ill. ; 30 cm
Abstract
Rendering complex geometric models efficiently for interactive graphics applications has always been a challenging problem. Geometry level-of-detail approaches have been introduced to computer graphics to handle complex meshes, and with the recently rapid evolution of graphics hardware, accelerations of these approaches with a commodity GPU has become practical. This thesis reviews the some of the important work on geometry level-of-detail, and presents a scheme for view-dependent geometry 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 prev...[
Read more ]
Rendering complex geometric models efficiently for interactive graphics applications has always been a challenging problem. Geometry level-of-detail approaches have been introduced to computer graphics to handle complex meshes, and with the recently rapid evolution of graphics hardware, accelerations of these approaches with a commodity GPU has become practical. This thesis reviews the some of the important work on geometry level-of-detail, and presents a scheme for view-dependent geometry 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 a series of multi-pass rendering techniques, including shadowing, semitransparent surface rendering, depth of field and motion blur effects that make direct use of the resulting dynamic index buffer.
Post a Comment