Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вода [Delphi, Windows]


Wild ©   (2004-02-04 10:18:00) 

Народ, пришел мне в голову один вопрос - может кто пытался решить.
Вот у меня на ландшафте - есть некий водоем, ну создаем некий объект, прозрачный, проходимый и т.д. Но прозрачность ведь должна быть градиентная - т.е. чем глубже объект в воде, тем хуже его видно с берега. Опять же, когда ты в воде, то чем глубже - тем жирнее партизаны :) и темнее вокруг.
Может кто-то уже все это делал?
P.S. пытаюсь на GLScene, но будет интересен любой ход мыслей.


ProvAd   (2004-02-07 13:08:00) [1]

Обычно, да.


Wild   (2004-02-06 09:28:00) [2]

Народ, а сверху объекта "Вода" - текстура ложится анимационная обычно?


MrAngel   (2004-02-06 00:28:00) [3]

>AxxxE я говорил про вершинные шейдеры, а не пиксельные.


ProvAd   (2004-02-05 21:38:00) [4]

Теперь дошло, что хотел сказать AxxxE. Если брать чисто по Y, то весь эффект будет фейковым. То есть с помощью него можно показать, то как освещение угасает с глубиной, но не "объемность" воды. Например если представить, что камера под водой, то этот эффект сразу потеряет всю привлекательность.


AxxxE   (2004-02-05 20:03:00) [5]

>MrAngel

Во-первых, шейдеры есть максимум у 5% населения.
Во-вторых, через объёмный туман рассчитывается цвет для КАЖДОГО ПИКСЕЛЯ полигона отдельно.


MrAngel   (2004-02-05 18:06:00) [6]

AxxxE - всё верно, это гораздо быстрее будет на вершинных шейдерах работать. :-)
Т.е. обработка каждой вершины делает сама карточка по нашей мини программке :-)


AxxxE   (2004-02-05 14:26:00) [7]

Какой Z-buffer, какой объемный туман, какие шейдеры? Вершины ведь рисуются по трём координатам! И что мешает тебе в код отрисовки полигонов вставлять строчку, использующую координату Y вершины для установки её цвета (чем Y меньше, тем цвет темнее)?


ProvAd   (2004-02-05 13:05:00) [8]


> соответствующий его положению по Y

Какой Y всмысле экранные координаты или из Z-buffer?(или я ничего непонял?)
ИМХО такую воду надо реализовать через объемный туман, а для него, если не ошибаюсь, потребуются шейдеры.


Alek Aaz   (2004-02-05 05:29:00) [9]

Может что и найдешь http://dev.dtf.ru/articles/read.php?id=91


AxxxE   (2004-02-04 14:40:00) [10]

Я это делаю так: При перерисовке объектов просто ставлю для каждого вертекса цвет, соответствующий его положению по Y (конкретные значения зависимости цвета от координаты подобрать несложно)! Работает безотказно и безтормозно (никаких тебе туманов)!


Наверх

Титульная страница Поиск, карта сайта Написать письмо