GLSL for simple water surface effects
I'm looking for some pointers on how to implement simple water surface effects in OpenGL ES 2.0. Nothing fancy like reflection or refraction, just a basic ripple/wave effect that modulates over time. Performance开发者_JAVA技巧 is critical. I'm assuming this will be best done in a shader.
Any pointers on how to best handle this?
Adrian Boeing's blog has example GL code, accompanied by clear explanations, for a number of effects including ripple.
There is an old trick to simulate water waves & ripples using minimum effort in terms of equations. It's used in many places, and I can't find the original, but you can grab it, for example, from here.
You'll need 2 textures, each containing just height. Simulation is done by ping-ponging between them (using one as a source and second as destination each time).
When rendering, you might need to derive surface normal from the neighbour heights.
精彩评论