14

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 is critical. I'm assuming this will be best done in a shader.

Any pointers on how to best handle this?

ksimeon
  • 241
  • 1
  • 3
  • 9

1 Answers1

11

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.

kvark
  • 5,291
  • 2
  • 24
  • 33