OpenGL communityФорумУроки по OpenGL

Урок 5 - Свет, камера, материал! Часть 2 (комментарии)

#0
12:52, 26 янв 2011

Урок 5 - Свет, камера, материал! Часть 2 (комментарии)

Это сообщение сгенерировано автоматически.

#1
12:52, 26 янв 2011

Дублирую http://code.google.com/p/gl33lessons/wiki/Lesson05

Прошло более 1 года
#2
15:41, 24 окт 2012

Почему направление для направленного источника задается как (3.0, 3.0, 3.0)?
Куда он в итоге светит?

#3
16:22, 24 окт 2012

Dronas
> Почему направление для направленного источника задается как (3.0, 3.0, 3.0)?
> Куда он в итоге светит?
Это вектор "на" источник света, соответственно светит он в противоположном направлении, т.е. (-3, -3, -3) - это вектор в мировых координатах.

#4
19:06, 24 окт 2012

А вот оно как... спасибо.
Я ошибаюсь или в OGL и D3D он указывается(указывалось) иначе?
Если я его буду указывать именно как направление распространения освещения, ничем кроме лишнего умножения в шейдере оно мне не повредит?

#5
20:32, 24 окт 2012

Dronas
"Я ошибаюсь или..."

Всегда указывалось так. Как бы, для направленного источника света (когда лучи света параллельны), этих данных достаточно. Для точечного источника света (когда лучи разлетаются во все стороны от какой-то точки), очевидно нужны тоже три числа, но это уже будут координаты источника света.

#6
21:24, 24 окт 2012

Хм, взял пример с светом из DXSDK9, установил направление света как (0.0, 1.0, 0.0), освещается снизу вверх, (0.0, -1.0, 0.0) соответственно сверху вниз.

#7
22:02, 24 окт 2012

Dronas
Если ты не заметил то эти три числа в коде урока это "позиция", соответственно отсюда все и идет. Например позиция направленного источника света обычно задается как 4е числа, где w = 0, что значит он бесконечно удален.

#8
22:19, 24 окт 2012

Тут я так понял для универсальности использовали "освободившийся" параметр, но у меня вопрос по указанию направления, в DX вектор указывает именно направление источника, а не направление на источник.

#9
23:41, 24 окт 2012

Dronas
> а не направление на источник.
Я не зря указал "на" в кавычках, потому что это позиция все таки, а не направление. Просто я так и не сделал универсальный шейдер, но по факту именно так обычно и делают. Имеется ввиду продакшн код, а не тестовые примеры.

OpenGL communityФорумУроки по OpenGL

Тема в архиве.