Определение координат света - PullRequest
5 голосов
/ 11 марта 2010

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

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

Так как я не смогу увидеть результаты этого до весенних каникул, я подумал, что могу спросить здесь.

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

В этом случае ответом может быть просто то, что вам придется преобразовывать свет, определенный в мировых координатах, в координаты глаза, используя что-то вроде матрицы ModelView, в то время как свет, определенный в координатах глаза, нужно будет преобразовывать только с помощью матрицы проекции.

С другой стороны, я мог бы полностью думать (или думать об этом).

Еще одна мысль, которая у меня возникла, заключается в том, что она определяет способ рендеринга теней, но это в большей степени связано с расположением света и его типом (точка, направление, излучение и т. Д.), Чем в каких координатах он представлен.

Есть идеи?

Ответы [ 2 ]

5 голосов
/ 11 марта 2010

Положение источника света преобразуется матрицей вида модели, которая была активной в момент определения источника света .

Если матрица вида модели в тот момент была идентична, вы получите свет в координатах глаза.

Если матрица вида модели была обратной к матрице вашей камеры, вы получите свет в мировом пространстве.

3 голосов
/ 11 марта 2010

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

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

...