Thanks
Thanks

Reputation: 40329

How do I make a water effect view with openGLES on the iPhone?

I found this vid: http://www.youtube.com/watch?v=eVi6ThY3LRs I wonder if that's some kind of standard effect of openGLES. I'm pretty sure it is, since I have seen this pretty often. KoiPond uses it, DuckDuckDuck uses it. A lot of games use it. They're not all astronauts. They're normal programmers ;) So how is this done? Is there any tutorial for this on the web?

Upvotes: 6

Views: 11662

Answers (3)

epatel
epatel

Reputation: 46051

For an old example have a look at the 'distort' example. Note that this is a thing created back in 1992 (just looked in distort.c).

Awesome program that causes ripples in the image wherever the mouse button is pressed. Another mode of the program acts like a sheet of rubber and can be pulled by dragging the mouse.

I managed to compile the example on my mac.

  • Rename all #include <GL/glut.h> to #include <GLUT/glut.h>
  • Add a usleep(33*1000); in the idle() function
  • Rename the file ripple_precalc.c to ripple_precalc.c.org (or just rm it)
  • Compile with "cc *.c -framework GLUT -framework OpenGL" will create an a.out

Upvotes: 7

user90950
user90950

Reputation: 51

JeeBee has it right. You can base your code off this tutorial:

http://www.gamedev.net/reference/articles/article915.asp

Upvotes: 1

JeeBee
JeeBee

Reputation: 17546

(off the top of my head) Maybe a mesh distortion where the texture is pinned to the vertices and hence appears to ripple as the mesh vertices are moved? By moving a set of vertex displacements around the mesh you could make a uniform ripple like a wavefront...

Upvotes: 2

Related Questions