Introduction

Outdoor scenes in the field of computer graphics often contain the rendering of large terrains. Basically every game, may it be a flightsimulator, a racing game or an ego-shooter. As the terrain is just another element in the whole scene, it’s essential to provide the best performance possible.

The classic approach is to use 2D heightfields where the coordinates represent the x and z position and the value the height. With this information, a mesh made of triangles is generated. The larger the terrain gets, the more triangles are generated, so a level of detail mechanism is needed. It takes care that areas being near to the camera are more detailed (get more triangles) than far away areas where they wouldn’t provide much visual benefit. One example of such an algorithm is “Chunked Level of Detail Control” by Ulrich [Ulr02].

But heightfield based algorithms have a big caveat. The data just varies in the y direction. Overhangs, cliffs or caves are not possible.

This is where volume rendering comes in. Basically any shape is possible with it. Of course, a LOD mechanism is needed if large terrains are to be displayed. By the time of creating this page, volume based terrains are still a young discipline without a lot of complete approaches, one of them being the Transvoxel algorithm by Lengyel [Len10].

This work describes a novel method for rendering volume based data with a level of detail mechanism with terrain as the main application. As the used framework, OGRE, works with triangle, an indirect visualization of the volume data is needed. A direct one would not convert the data into triangles and for example use a raytracer [NY06, P. 1].

A volume terrain

1: A volume terrain

Areas covered will include: where the data comes from, how a mesh is generated, how the triangles get their texture and relief, how the amount of detail varies over the distance with the level of detail algorithm, and finally the needed parts for creating a realtime volume editor. At the end, OGREs volume component is presented as implementation of this method.

Pay attention that the articles are still work in progress and every few days, a new one gets released. So stay tuned!


If you like this work and want to support it, feel free to donate something or click on any Flattr button!