Today's graphics hardware is not capable of displaying arbitrarily detailed terrains in real-time. Above a certain number of triangles rendering becomes too slow, frame rate drops below 30. Known methods - such as Level of Detail (LOD) or Realtime Optimally-Adapting Meshes (ROAM) - simplify the triangle meshes to maintain speed. With fewer triangles real-time is possible, but it decreases the visual quality. This paper presents a fast, real-time method that combines triangle mesh simplification with pixel shader displacement mapping. This method first builds up an approximate low resolution triangle mesh and applies displacement mapping on that. In the pixel shader it computes the intersection of rays and the terrain. For the best result, it combines linear search with secant search. The result is independent from the resolution of the heightmap and is capable of displaying terrains without decreasing detail.
Download the paper from here.
Here we present a sample video (.wmv) demonstrating real-time terrain on Geforce 8800 GT. Terrain resolution is 2049x2049, approximate mesh resolution is 256x256.
The following video was captured on Geforce 8400M (notebook) . Terrain resolution is 2049x2049, approximate mesh resolution is 32x32.
Zsolt Fehér, 2010