Water surface . Modelled using a translucent polygon with an animated texture applied. Created using John Beale's hf-lab height field generator. Seabed patches are represented using triangle strips with a rough texture map. 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.