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

Вот эта матрица нужна только для пиксельных шейдеров?
и чет нигде не увидел создание источника света, а только сферы, которая походу служит маркером для координат света. То есть обычный свет в сцене для шейдеров вреден?
вертекс шейдеры полностью с нуля считают позиции вертексов и другие данные на каждый вертекс.
чтобы показать на экран геометрию, имея координаты её вертексов в пространстве объекта - тебе надо умножить их сначала на world матрицу (это матрица трансформаций объекта, она содержит позицию, ротейт, скейл. без неё ты тоже увидишь объект на экране, но в нуле координат, неротированный, с единичным скейлом), потом на view матрицу (это инвертированная матрица трансформаций камеры - при умножении на неё, мы получаем что позиция камеры - это ноль координат, то же самое и с вращением, проще говоря пододвигаем всю геометрию к камере), потом на projection, который ты и указал - это сложная матрица, которая сделает перспективное сокращение.
в реале можно перемножить все эти матрицы заранее и подавать как одну WorldViewProj, одним умножением на которую, можно получить объект в нужном месте - ксорс позволяет её сразу передавать.

пиксельные шейдеры с нуля считают цвет каждого пикселя, пользуясь выходными данными из вертексного шейдера. "обычный свет" не имеет к этому никакого отношения, хотя при желании ты сам можешь передавать позиции источников "обычного света" в шейдер и радоваться.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо Mr_F_ за это полезное сообщение:
dsd (30.06.2011), St_AnGer (30.06.2011)