Terrain Rendering using Geometry ClipmapsAbstractGeometry clipmaps present a quick, intuitive, and high performance solution to the problem of rendering terrain at varying levels of detail (LOD). Recent advances in graphics hardware allow a significant portion of geometry clipmap processing to be done on the GPU, making the performance even better. This work explores implementing geometry clipmaps on the GPU and discusses the optimizations and pitfalls involved in doing so. View Dependent Geometry ClipmapsIn the previous geometry clipmap work, clipmaps were oriented along the x,z plane and move only when the camera exceeds some threshold. Every frame, the positions of the clipmaps must be recomputed by the CPU and then passed to the GPU. The "view dependent" approach attempts to skip this step by fixing the clipmap meshes in view space. Exponentially-Sized ClipmapsIn the previous geometry clipmap work, care was taken to ensure that each LOD ring was exactly twice the size of the previous one, such that for every four triangles that formed a rectangle in a finer LOD there there were two triangles that formed a square in the adjacent coarser LOD. Organizing a triangle strip in this manner introduced minor complexity in that several carefully constructed vertex and index buffers needed to be created to make sure each finer set of triangles had matching coarser triangles aligned with them. Exponentially-sized clipmaps tosses this approach in favor of a brute-force approach that is much easier to implement. Normal BlendingNormal Blending is a technique that combines per-vertex and per-pixel normals by linearly interpolating between them. The end result is efficient and produces desirable output. References
Asivatham and Hoppe. Terrain rendering using gpu-based geometry
clipmaps. GPU Gems 2. 2005. |