WATER TECHNOLOGY

Animation

Water is animated using two models. In the first model ([1]), the water surface displacement is calculated as the sum of procedural Gerstner waves (linear and circular). Wave parameters as wavelength, amplitude, choppiness are dynamically configurable depending on the desired water conditions. The second model ([2]), developed by oceanographers, uses a Fast Fourier Transformation (FFT) to generate a dynamic displacement map and normalmap. These are used for the simulation and rendering of detailed waves.

Rendering

Water geometry is rendered with the projected grid technique ([3]). This technique produces a nearly optimal tessellation of the geometry with an adaptive level of detail. It has been improved in Typhoon to handle anti aliasing of procedural waves and large displacements of the water surface.

Effects

The engine simulates reflection and refraction effects. In a preliminary pass, the reflected environment is rendered to a target texture (see [4]). For the refraction, the rendered scene is copied to another target texture and post processed to simulate underwater volumetric effects as light scattering and absorption. These two textures are used by the water shader for the rendering of the water surface. The engine also simulates the Fresnel effect and the phenomenon of total internal reflection when the camera is underwater.

Water color

Typhoon uses a physically-based model (see [5][6][7]) to simulate the absorption and scattering of light underwater. All parameters (turbidity, phytoplankton concentration, forward scattering, ...) are configurable and allow the simulation of different types of water, from the clear blue water of tropical islands to the greenish water of harbors.

Caustics

Caustics are beautiful dancing patterns of light created by the refraction of sunlight at the water surface. Typhoon generates them in real-time and applies them to all underwater objects using its deferred lightning engine. The caustics generator uses ideas from [2] and [7].

Underwater god rays

The engine also simulates underwater light shafts, also known as god rays. These are sun rays refracted and then scattered by water towards the viewer. The engine uses a hybrid technique (based on [9],[10]), partly working with geometry and partly working in image space to simulate dynamic god rays than can be occluded by underwater objects.

REFERENCES