Как сделать эффект воды с помощью openGLES на iPhone? - PullRequest
6 голосов
/ 07 апреля 2009

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

Ответы [ 3 ]

7 голосов
/ 07 апреля 2009

Для старого примера посмотрите на пример ' 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
2 голосов
/ 07 апреля 2009

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

1 голос
/ 15 апреля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...