Разница между огнями в OpenGL - PullRequest
0 голосов
/ 15 декабря 2011

У меня вопрос по поводу создания разных типов света.Какая разница между всенаправленным источником света и источником света с небольшим углом отсечки, и что мне следует использовать в OpenGL для их реализации.

1 Ответ

2 голосов
/ 15 декабря 2011

Различие между всенаправленными и направленными моделями освещения заключается в алгоритме, который используется для выбора фрагментов, на которые воздействуют источники света.

Всенаправленные источники света влияют на все фрагменты во всех направлениях, в то время как направленные источники света имеют направление ивне угла (конус света).Обычно источники света имеют коэффициенты ослабления, используемые для ограничения диапазона применения.

Обычно источники света вносят вклад в цвет фрагмента путем добавления цветовых компонентов.Компоненты цвета: окружающий цвет, рассеянный цвет, зеркальный цвет ... Каждый компонент масштабируется с помощью некоторого параметра, например, добавляет расстояние от точки обзора или угол отраженного луча относительно точки обзора (используя векторное изображение поверхности глаза и нормаль).

Используя фиксированный конвейер (или профиль совместимости), для включения освещения определен набор state .Вы можете включить или отключить ограниченное количество источников света, установить модель освещения и параметры модели.Свет влияет на цвет вершины, а не на фрагмент, полученный при растеризации вершины.

При использовании программируемого конвейера источники света определяются шейдерной униформой.Поскольку шейдеры программируются, вы должны определить свою собственную модель освещения, используя источник шейдеров.

Вопрос очень широкий.

...