Показать сообщение отдельно
Старый 12.08.2011, 23:27   #212
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Имитация водной поверхности.

Допустим красный+зеленый кодируют целую часть, а голубой дробную.
можно просто использовать флоатовую одноканальную текстуру (R32F).
текстурные координаты вершин
они тут причём?
в VS считаешь просто помимо обычной позиции, позицию, полученную переменожением на шадоумап-матрицу. шадоумап-матрица = world * lightView * lightProj. потом эту матрицу, либо результат перемножения надо перевести в 0-1 диапазон, чтобы использовать как текстурные координаты для карты глубины. удобнее изначально шадоумап-матрицу умножить на скейлящую в нужный диапазон матрицу.
Для отсутствия швов карту глубины можно сделать кубомапой.
??? для точечных лайтов так делают, для направленного источника не нужно.
Камеру создавать не нужно
ну камера в ксорсе тебе бесплатно может предоставить view и proj матрицы не нагружая рендер. так что нет смысла самому конструировать.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
dsd (12.08.2011)