Terrain Rendering: Intro / Algorithm / AquaNox / GISMO / ...
Intro: Terrain Rendering is an essential tool in GIS and Interactive Entertainment. Because of the inherent complexity of the data sets (often referred to as heightfields) interactive frame rates are very hard to achieve even on high end graphics systems. A common solution is to simplify the terrain geometry to speed up rendering times. To minimize the induced rendering artefacts a well known triangulation technique called Continuous Level of Detail (C-LOD) is used. On the one hand it maximizes both rendering speed and quality by applying a view dependent triangulation. On the other hand, its major drawback, the so called popping effect, needs to be suppressed by means of geomorphing between the levels of detail. A demo version plus library source code of the Continuous Level of Detail algorithm can be downloaded from here. The terrain rendering algorithm (abbreviated GOLD) has also been included into Massive Development's next generation game AquaNox. A comprehensive list of terrain visualization techniques including ours and other useful information can be found at vterrain.org. If you are looking for a free 1 km resolution data set of the whole world, then please visit GTOPO30. High resolution data of the United States can be obtained from the USGS (Unites States Geological Survey).
Triangulation (Gallery 1):
These and the following images are screenshots of the C-LOD terrain renderer running on a SGI Octane MXI (250 MHz MIPS R10K) with a frame rate of 25 Hz. The height fields have a dimension of 1025x1025, thus the terrain consists of more than 2 million smoothly shaded triangles. This makes up for over 50 million triangles per second, which is the reason why LOD strategies have to be applied to achieve interactive frame rates. After culling and mesh reduction the number of visible triangles ranges from approximately 10 to 30 thousand, which corresponds to a reduction of magnitude order 2. In the upper images you can see the Cerro Sillajhuay in Chile (left) and the Galapagos Islands (right). The adjacent wire frame images clearly show that the accuracy of the triangulation depends both on surface roughness and the distance to the point of view. These two key properties of the continuous level of detail algorithm are responsible for the good quality of the approximated mesh and the high achievable frame rates. The C-LOD terrain renderer has also been ported to Java3D, which allows a terrain to be visualized in the browser window. For an online terrain rendering experience check out this page.
Geomorphing (Gallery 2):
Here are some screen shots of the Islands of Hawaii. A special problem of the C-LOD rendering technique is the so called popping effect. When you are approaching a small detail from the distance, for example the crater rim of the Mauna Kea, then that detail will suddenly emerge at a specific distance. While travelling around the terrain these changes of the triangulation occur quite frequently. The emerging triangles might be very small, nevertheless the eye is still sensible enough to detect even the smallest changes. Thus, a technique, which is called geomorphing, must be applied to suppress the popping effect. This goal is achieved by interpolating the elevation of each vertex. Most C-LOD algorithms use a morphing strategy with a constant time interval, which means that the blending interval does not adapt to the viewing distance. To solve this problem we propose a time-independent geomorphing strategy, which interpolates the LODs in an optimal fashion (for more detail see WSCG 1998 paper).
Example Height Field (Gallery 3):
The image on the left is a height field of Kluane National Park south of Haines Junction in Yukon Territory, Canada. A corresponding 3D view is shown in the right picture. The false color texture map has been acquired by one of the Landsat Thematic Mapper satellites. Orange and brown regions indicate vegetation, whereas red, blue and black indicate ice, stone and water, respectively.
Texture Mapping (Gallery 4):
If surface colors (eg. from a satellite image) are not available, the landscape is rendered with gouraud shading and a diffuse light source (see leftmost picture). Otherwise, a photo can be used to set the brightness at each vertex of the triangle mesh. That means that regions of high contrast need to be refined regardless of their surface roughness. This approach is useful mainly on systems that do not support texture mapping (see second picture on the left). But in general, image quality is much better with hardware texturing (see first picture on the right). The combination of both shading and texturing, however, results in even more realistic images (see rightmost picture).
AquaNox (Gallery 5):
As mentioned above, the LOD algorithm described in "Real-Time Generation of Continuous Levels of Detail for Height Fields" has been included into Massive Development's next generation game engine, which is named KRASS. One of the first game utilizing a advanced terrain rendering engine for the display of huge outdoor scenes, is AquaNox, the successor of the under water action shooter Schleichfahrt (better known as Archimedean Dynasty). The screen shots were captured while using a beta version of the terrain engine, which supports features like multi-pass rendering and layered fog.
GISMO (Gallery 6):
The GISMO project is a cooperation of the Visualization Group of the Institute of Computer Science (IfI/VIS) with the Institute for Photogrammetry (ifp) of the University of Stuttgart, Germany. The main area of interest is the visualization of large scale city models, such as the one displayed obove by our terrain renderer (download the demo here). It shows the city center of Stuttgart at a spatial resolution of one meter. The geometric representation of the buildings has been acquired by an airborne laser scanner. Our goal is to develop an interactive visualization system, which is able to provide high end rendering of large city models on cheap main-stream graphics hardware. We try to achieve this by combining a hardware accelerated terrain rendering approach with level-of-detail and image-based techniques.
More Terrain Rendering