2009-04-07 12 views
6

Ho trovato questo video: http://www.youtube.com/watch?v=eVi6ThY3LRs Mi chiedo se sia una sorta di effetto standard di openGLES. Sono abbastanza sicuro che lo sia, dal momento che ho visto questo spesso. KoiPond lo usa, DuckDuckDuck lo usa. Molti giochi lo usano. Non sono tutti astronauti. Sono normali programmatori;) Quindi come è fatto? C'è qualche tutorial per questo sul web?Come posso creare una vista effetto acqua con openGLES su iPhone?

+1

come fai a sapere che sono i programmatori normali? –

+0

pensi che non lo siano? ;) – Thanks

risposta

2

(fuori dalla parte superiore della mia testa) Forse una distorsione della mesh in cui la trama è fissata ai vertici e quindi appare ondulata mentre i vertici della mesh vengono spostati? Spostando una serie di spostamenti dei vertici attorno alla mesh si potrebbe ottenere un'ondulazione uniforme come un fronte d'onda ...

7

Per un esempio precedente, dare un'occhiata all'esempio "distort". Si noti che questa è una cosa creata nel 1992 (appena guardata in distort.c).

Impressionante programma che provoca increspature nell'immagine ovunque venga premuto il pulsante del mouse. Un'altra modalità del programma si comporta come un foglio di gomma e può essere trascinata trascinando il mouse.

Sono riuscito a compilare l'esempio sul mio mac.

  • rinominare tutte #include <GL/glut.h>-#include <GLUT/glut.h>
  • Aggiungi un usleep(33*1000); nel idle() funzione di
  • Rinominare il file ripple_precalc.c-ripple_precalc.c.org (o semplicemente rm esso)
  • Compila con "cc *.c -framework GLUT -framework OpenGL" creerà un a.out
+0

Grazie, ci proverò. Potresti vedere se fa uso di cose che non sono supportate in openGLES? – Thanks

+0

Penso che sia fondamentalmente come descrive JeeBee, una mesh coperta da una texture e i vertici mesh sono spostati con un po 'di matematica, direi che alcune dinamiche di primavera. Nota che dovrai convertire il codice per rimuovere le chiamate glBegin()/glEnd() ... – epatel

Problemi correlati