Хочу написать небольшой эффект типа волн (больших, океанических). Проблемма в том, что вершин в решетке очень много и рассчитываются они очень долго. Так же долго считаются нормали и потом еще все это очень долго отрисовывается . Есть идея отрисовывать полигоны от камеры к горизонту, чтобы отсекат лишнее по принципу воксельных ландшафтов. Как можно определить координаты полигона еще до того, как они будут выведены на экран? Спасибо за внимание.
aaleksander Я думаю достаточно разбить ландшафт на секторы и определять какие из секторов мы видим. Не забываем про VBO. А водичку можно на вершинном шейдере посчитать. Проблемм не вижу.
Вершинными шейдерами неинтересно (они у меня не поддерживаются и я не знаю как с ними работать Кроме того, хочется сделать что-нибудь такое, что еще никто не видел B-)
aaleksander хочется сделать что-нибудь такое, что еще никто не видел Без шейдеров публику уже не удивить Определяешь видимые сегменты, и пересчитываешь их на CPU. Все просто. Скажем по формуле: z(x,y,t) = sin(x+t)+cos(y+t) Это примитив конечно, но добавить сюда еще пару синусов-косинусов и суперпозиций и будет тебе вполне приличная вода. Еще добавь отражение и преломление.
"z(x,y,t) = sin(x+t)+cos(y+t)" У меня так и сделано, картина называется "Мужики вывозят сено с полей" . А что такое суперпозиция?
Хе-хе... Сильно! Я долго смеялся )) Я бы еще назвал "бурундуки во ржи ползут на северо-запад" Функция внутри функции. Например f(g(x)). Например... z(x,y,t) = sin(x*cos(t+y)+y+t) + cos(x+y*sin(t+x)+t) Ну и если дать 3-4 вложенности синусов-косинусов то водичка будет очень даже ничего. Полезно поиграться с коэффициентами. Например: z(x,y,t) = sin(A*x*cos(B*t+C*y)+D*y+E*t) + cos(F*x+G*y*sin(H*t+I*x)+J*t) Проблемма тут будет только в скорости
Это все циклично и потому скучно (и еще действительно медленно). Я делаю что-то похожее на seastorm3D, где-то тут ссылка пробегала. Пока делаю на основе графа с "резиновыми" ребрами. Преимущество в том, что можно делать смещения не только по Y, но и по X с Y-ком, плюс красиво волнуется текстура.
Так ведь никто не мешает по-разному двигать вертексы и текстуры. Я всегда был приверженцем аналитических формул а не численных методов. Аналитическая запись... она... не знаю как сказать... Для меня численный метод и аналитическая запись как буфетчица и стриптизерша Вобщем... Способов-то куча. Советую почитать статью с www.gamedev.ru раздел "Графика" статья "Физическое моделирование воды" + посмотри пример к ней.