I'm trying to build an underwater scene. I'm including my scene in a large cube, which I'm going to texture with images that resemble an underwater environment. Where can I get textures for something of that sort?
It's an animation as a set of textures. Load them as a 3d texture for smooth interpolation when rendering, then use projective texturing to compute texture coordinates. The technique explained in the article (albeit with a pretty old OpenGL version, today you'd use a shader instead).
Waves creates caustics (as magnifier does for example). Caustics are moving (becuase waves are moving). Real caustics cannot be simulated in realtime, so for realtime it has to be faked somehow.
GPU Gems for the rescue: Rendering Water Caustics