Rendering Subdivision Surfaces using Hardware Tessellation
Technical University of Munich
PhD Thesis (Published by Dr. Hut)
In this thesis we present techniques that facilitate the use of high-quality movie content in real-time applications that run on commodity desktop computers. We utilize modern graphics hardware and use hardware tessellation to generate surface geometry on-the-fly based on patches. The key advantage of hardware tessellation is the ability to generate geometry on-chip and to rasterize obtained polygons directly, thus minimizing memory I/O and enabling cost-effective animations since only patch control points need to be updated every frame. We first convert subdivision surfaces into patch primitives that can be processed by the tessellation unit. Then patches are directly evaluated rather than by iterative subdivision. In addition, we add high-frequency surface detail on top of a base surface by using an analytic displacement function. Both displaced surface positions and corresponding normals are obtained from this function and the underlying subdivision surface. We further present techniques to speed up rendering by culling hidden patches, thus avoiding unnecessary computations. For interaction amongst objects themselves we also present a method that performs collision detection on hardware-tessellated dynamic objects. In conclusion, we provide a comprehensive solution for using subdivision surfaces in real-time applications. We believe that the next generation of games and authoring tools will benefit from our techniques in order to allow for rendering and animating highly detailed surfaces.