Урок 5 - Свет, камера, материал! Часть 2 (комментарии)
Это сообщение сгенерировано автоматически.
Почему направление для направленного источника задается как (3.0, 3.0, 3.0)?
Куда он в итоге светит?
Dronas
> Почему направление для направленного источника задается как (3.0, 3.0, 3.0)?
> Куда он в итоге светит?
Это вектор "на" источник света, соответственно светит он в противоположном направлении, т.е. (-3, -3, -3) - это вектор в мировых координатах.
А вот оно как... спасибо.
Я ошибаюсь или в OGL и D3D он указывается(указывалось) иначе?
Если я его буду указывать именно как направление распространения освещения, ничем кроме лишнего умножения в шейдере оно мне не повредит?
Dronas
"Я ошибаюсь или..."
Всегда указывалось так. Как бы, для направленного источника света (когда лучи света параллельны), этих данных достаточно. Для точечного источника света (когда лучи разлетаются во все стороны от какой-то точки), очевидно нужны тоже три числа, но это уже будут координаты источника света.
Хм, взял пример с светом из DXSDK9, установил направление света как (0.0, 1.0, 0.0), освещается снизу вверх, (0.0, -1.0, 0.0) соответственно сверху вниз.
Dronas
Если ты не заметил то эти три числа в коде урока это "позиция", соответственно отсюда все и идет. Например позиция направленного источника света обычно задается как 4е числа, где w = 0, что значит он бесконечно удален.
Тут я так понял для универсальности использовали "освободившийся" параметр, но у меня вопрос по указанию направления, в DX вектор указывает именно направление источника, а не направление на источник.
Dronas
> а не направление на источник.
Я не зря указал "на" в кавычках, потому что это позиция все таки, а не направление. Просто я так и не сделал универсальный шейдер, но по факту именно так обычно и делают. Имеется ввиду продакшн код, а не тестовые примеры.
Тема в архиве.