procedural water and caustics

hello,
i’d like to code a “little” app with objects resting on the bottom of a pool. Now the problem is how to make the water effect.
What do u think? is better having a moving mesh or just a flat surface vertex and fragment programmed?
I’d like to add some nice caustics too, anyone has a link pointing to some useful resources?

Thanks all, the gunslinger

about water,caustics and other effects:
(the article is called “Deep-Water Animation and Rendering”)
http://www.gamasutra.com/gdce/2001/jensen/jensen_01.htm

about caustics only:
http://www.gamasutra.com/features/20030903/crespo_01.shtml

another interesting link is this:
(there is also a demo with sourcode)
http://claes.galaxen.net/ex/

Here is a new paper for rendering water surface :

http://download.nvidia.com/developer/presentations/GDC_2004/HLSL_WaterVTF.pdf

Cheers
Arath