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