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?
(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...
For an old example have a look at the 'distort' example @ SGI (before it disappears). 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 theidle()
function - Rename the file
ripple_precalc.c
toripple_precalc.c.org
(or just rm it) - Compile with "
cc *.c -framework GLUT -framework OpenGL
" will create ana.out
JeeBee has it right. You can base your code off this tutorial:
Hey can anyone show how to port the mesh, warp, distort, ripple, and rubber demos from SGI to the iPhone platform? I got it working in XCode on the MacOS using GLUT but I'm not quite sure how to make the conversion from OpenGL to OpenGL ES.