-_- it used to be one of featured images at Gamedev.net
http://www.gamedev.net/community/forums/topic.asp?topic_id=411753
![](https://www.cnblogs.com/images/cnblogs_com/adamgamer/fresnel.jpg)
For the water surface animation, I use finite difference to solve 2 dimension wave equation in 128*128 mesh grid , this work is done by a pixel shader pass the result is kept in a float point texture, then the animated height field texture is passed to next vertex shader to be used as vertex texture fetch (SM3 is required). in addition use a bump map in pixel pass to capture small scale surface detail, this will produce beautiful surface over bright sun specular light.For the water surface lighting model, use sun specular + fresnel term.
Here is the demo
/Files/AdamGamer/GPUWaterSimulation.part01.rar
/Files/AdamGamer/GPUWaterSimulation.part02.rar
/Files/AdamGamer/GPUWaterSimulation.part03.rar
/Files/AdamGamer/GPUWaterSimulation.part04.rar