OpenGL: освещение внутри куба - PullRequest
3 голосов
/ 14 ноября 2010

Я создаю сцену, в которой я использую прямоугольник для представления комнаты и различных моделей внутри этого прямоугольника. Когда я включаю освещение, мои модели светятся нормально, но сама комната (внутри коробки) не светится, точнее, она темнее, чем должна быть. Это потому, что я пытаюсь осветить куб? Я уверен, что нормали верны. Пожалуйста, дайте мне знать, что вы думаете!

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

1 Ответ

5 голосов
/ 14 ноября 2010

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

Например, если ваш куб имеет размер 2 единицы и центрирован в начале координат, центральная точка грани наположительная ось X будет (1, 0, 0), и это также будет правильной нормалью для наружной лицевой стороны этой грани.

Однако грань, направленная внутрь, будетиметь нормальное значение, обратное этому, то есть (-1, 0, 0).

...