OpenGL и бесконечная световая позиция? - PullRequest
3 голосов
/ 23 декабря 2009

Можно ли заштриховать полигоны, чтобы каждый полигон отображался с одинаковым углом света, независимо от того, какое его положение относительно света?

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

1 Ответ

10 голосов
/ 23 декабря 2009

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

Чтобы установить это направление, вы устанавливаете компонент w положения x, y, z, w источника света равным 0.

GLfloat light_position[] = { 1.0, 1.0, 1.0, 0.0 };

...