WATER TECHNOLOGY

Typhoon integrates a complete solution for the simulation and rendering of water. It has been used in the commercial diving simulator eDiving, in a robotic underwater simulator and in an university project for the simulation of virtual eels.

Animation

Water is animated with two mathematical models. The first model ([1]) is procedural and expresses the water surface displacement as the sum of Gerstner waves. All parameters (wavelength, amplitude, choppiness) are dynamically configurable according to the desired water conditions. The second model ([2]), developed by oceanographers, uses a Fast Fourier Transformation (FFT) to generate a dynamic normalmap. This used for the rendering of detailed waves and for the dynamic generation of caustics and underwater godrays.

Level of detail

Water is rendered with different levels of detail depending on the distance from the viewer. Typhoon uses a clipmap-based approach to control the level of detail.

Reflections and refractions

The engine simulates distant reflections, local reflections and refractions. Distant reflections, showing the sky and clouds, are simulated with a dynamic environment map while local reflections, showing objects floating on water, are rendered to a 2D texture in a preliminary pass (see [2][3]). For refractions, the engine re-uses the content of the framebuffer rendered before water. These effects are blended in a pixel shader according to the Fresnel factor. The engine also simulates the phenomenon of total internal reflection (TIR) when the camera is underwater.

Water color

Typhoon uses a physically-based model (see [4][5][6]) 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 projects them on the underwater environment. The caustics generator uses ideas from [2] and [7].

Underwater god rays

The engine also simulates underwater light shafts, also known as god rays, with a hybrid technique (based on [7],[8]). These are sun rays refracted and then scattered underwater towards the viewer.

REFERENCES