Modelling Undersea Viewing Conditions
Alan Murta and Irina Titovich
|
|
|
Water surface
|
Shallow water
|
Deeper water
|
|
|
|
High water clarity
|
Medium water clarity
|
Low water clarity
|
|
|
|
Deep sea illumination
|
Patch bounding boxes
|
Mesh detail levels
|
The purpose of this work is to create a real-time
visual simulation of the undersea environment. The project uses
the Maverik VR kernel
for scene management and interaction, together with Mesa
/ OpenGL to provide graphical effects.
The scene is displayed at over 20 frames per second on a 350 MHz PC with
3Dfx
Voodoo2 graphics support.
There is also a slightly out-of-date MPEG movie
(4.1 Mb) of this work available.
Features implemented:
-
Sky model. Implemented using a texture mapped hemisphere, centred
above the viewer's eye position.
-
Water surface. Modelled using a translucent polygon with an animated
texture applied.
-
Seabed. Created using John Beale's hf-lab height field generator.
Seabed patches are represented using triangle strips with a rough texture
map. Level-of-detail management is implemented so that more distant patches
contain fewer triangles.
-
Particles. A particle system is used to represent fine debris suspended
within the sea. Brownian motion is applied to each particle to simulate
random drift.
-
Caustic light effects. The seabed colour is modulated using an animated
texture. The intensity of this lessens as the sea depth is increased.
-
OpenGL lighting model. The ambient illumination changes with undersea
depth making the particles and seabed darken as the viewer descends. The
user may turn on spotlights which illuminate the local region in front
of the viewer's eye point.
-
Water clarity. This may be adjusted to simulate different levels
of visibility.
-
User interaction. The scene may be explored using the mouse. Keyboard
commands are used to modify the scene properties (sea depth, fog density
etc).
-
Collision detection. The user is prevented from passing through
solid objects in the scene.
-
Light glare effects. Undersea spotlights create visible glare trails
in the water.
-
Air bubbles. Streams of environment-mapped bubbles may be generated
within the scene.