I think water scenes in general are a very interesting graphics problem because they are so dynamic.
I wanted to create an explorable little underwater environment using different shader techniques.
Blender for making the downloaded obj files useable.
Wavy textures to give the surface textures an underwater feel. Works pretty well with the surface of the water because it is a wave function.
Fog for linear blending the world into a deep blue color. Uses a per fragment shader to blend with density factor.
Dynamic lighting to show a darker environment the deeper you go, and when you surface, the fog disappears.
WASD to move the camera
Mouse cursor to pitch/yaw the camera