Как сделать эффект воды с помощью openGLES на iPhone?

Я нашел это видео: http://www.youtube.com/watch?v=eVi6ThY3LRs Интересно, это какой-то стандартный эффект openGLES. Я уверен, что это так, так как я видел это довольно часто. KoiPond использует это, DuckDuckDuck использует это. Многие игры используют его. Они не все астронавты. Они нормальные программисты;) Так как же это сделать? Есть ли учебник для этого в Интернете?

3 ответа

Для старого примера взгляните на пример ' distort'. Обратите внимание, что эта вещь была создана еще в 1992 году (только что посмотрел в distort.c).

Потрясающая программа, которая вызывает рябь на изображении при нажатии кнопки мыши. Другой режим программы действует как лист резины и может быть вытащен путем перетаскивания мышью.

Мне удалось скомпилировать пример на моем Mac.

  • Переименовать все #include <GL/glut.h> в #include <GLUT/glut.h>
  • Добавить usleep(33*1000); в idle() функция
  • Переименовать файл ripple_precalc.c в ripple_precalc.c.org (или просто это)
  • Компилировать с "cc *.c -framework GLUT -framework OpenGL"создаст a.out

(от макушки моей головы) Может быть искажение сетки, когда текстура прикреплена к вершинам и, следовательно, кажется, что она колеблется при перемещении вершин сетки? Перемещая набор смещений вершин вокруг сетки, вы можете создать равномерную рябь, как волновой фронт...

JeeBee имеет это право. Вы можете основать свой код на этом уроке:

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

Другие вопросы по тегам