Позиционирование света OpenGL-2 преобразуется матрицей просмотра модели.Это означает, что вы должны установить светлое положение после размещения камеры, но перед применением локальных преобразований объекта.
OpenGL до версии 3 поддерживает не менее 8 источников света (GL_LIGHT0… GL_LIGHT7).Который может быть включен и установлен независимо.Более поздние версии OpenGL полностью шейдерные;источники света реализуются через соответствующие шейдеры, параметры света передаются через униформу.
Совместимость с OpenGL-3 и более ранние версии имеют предопределенные формы, такие как gl_LightPosition[]
, который используется в этом приложении.Вы устанавливаете эти предопределенные униформы через соответствующие установщики состояния OpenGL.glLight…
в вашем случае.
Ядро OpenGL-3.1, а затем и вовсе отказаться от предопределенных легких форм и возложить на программиста бремя его реализации.