This thesis will examine a method for efficient rendering of realistic water surfaces in a 3D terrain visualization engine, using modern graphics hardware and state-of-the-arts rendering techniques. The method produces a water visualization model that will be implemented in a real-time terrain visualization engine named GeoGFX .
The demand for realism in real-time visualization terrain engines is increasing rapidly with the development of faster and better computers. To meet this demand modern computer games have added more realistic elements to their simulated worlds, providing a greatly enhanced user experience. One important detail is the appearance of water. In older games water was often treated as planar surfaces with an artist generated texture applied on them, ignoring important properties that give water its characteristic look. With the introduction of new and better hardware, developers are starting to pay more attention to these properties, and many games have impressive, realistic looking water effects. Having realistic water effects often tend to impress the user, and significantly raise the overall impression of the simulated world. However, even if hardware is improving rapidly and the introduction of programmable GPUs have made graphical processing a lot faster, the physics and optics of water is immensely complex and needs to be simplified in real-time visualization. A common way of simplifying water visualization is by using high-resolution height fields which provides a non-planar approximation of the water surface. This technique, combined with a “Level-of-Detail” (LOD) method for spatial scalability and a vertex disturbance algorithm for simulating waves, produces a realistic, but costly polygonal representation of the water surface.
In this thesis we will present an alternative water visualization technique called “texture Level-Of-Detail with bump mapping”. The intent of this technique is to combine advanced, formerly developed, texture rendering methods in a hierarchical LOD arrangement to gain a result that simulates realistic water surfaces without the cost of detailed polygonal representations. “Bump mapping” contributes to this technique by using textures to simulate high-resolution height fields composed as a raster of plane normals. Disturbing the raster with an algorithm provides a wave-model without polygonal representation. This wave-model, combined with a Level-Of-Detail management system and other water features, is proposed as a method for scalable, dynamic, real-time rendering of a large number of realistic looking water surfaces in GeoGFX.
Hopefully, by introducing texture based, low polygonal count water model to GeoGFX, we are able to maintain acceptable frame-rates in the real-time visualization while keeping a high detail level on the visualized scenes.