OpenGL окружающее освещение - PullRequest
1 голос
/ 23 августа 2011

Создав очень простую программу OpenGL, состоящую из центрированного текстурированного куба с соответствующими значениями вершины / нормали +/- 1,0, у меня есть два вопроса относительно поведения модели освещения с неподвижной трубой.

1) Почему мой объект не полностью освещен, когда я установил глобальное окружающее освещение на {1.0, 1.0, 1.0, 1.0}. Я ожидал бы, что эти параметры будут визуализировать модель, как если бы освещение было отключено (то есть все поверхности отображаются с полной интенсивностью).

2) Когда я размещаю рассеянный свет прямо перед моделью в {0.0, 0.0, 2.0}, все выглядит правильно, но если я переместу свет дальше в {0.0, 0.0, 200.0}, модель рендерится как если бы освещение было отключено (т.е. все поверхности отображаются с полной интенсивностью).

1 Ответ

3 голосов
/ 23 августа 2011

Поскольку вы не опубликовали свой действительный код установки, все, что я могу сделать, - это угадать.

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

2: Мне нужно увидеть визуализацию того, что происходит, но это, вероятно, вызвано отсутствием какого-либо падения интенсивности. Фактически, когда свет удаляется дальше, он кажется ярче, потому что нормали с большей вероятностью будут ближе к нему, чем если бы он был близко к поверхности . Точечный свет становится направленным светом, когда он удаляется. Так что вам нужно использовать затухание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...