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