2013-06-22 4 views
2

ли это следующая методика:gl.h #defines для огней

for(int light=GL_LIGHT0; light<=GL_LIGHT7; light++) 
    glEnable(light); 

всегда позволяют GL_LIGHT0 через GL_LIGHT7 безупречно? Мне интересно, если #define s для огней OpenGL всегда увеличиваются на единицу один за другим, как в моем заголовочном файле OpenGL.

+0

Просто из любопытства, в чем причина этого? Какие параметры вы устанавливаете для огней после их включения? –

+0

@TimCooper Некоторые свойства материала из файла .obj, экспортированного из Blender. Причина, по которой этот вопрос возник, заключается в том, что количество включенных огней будет варьироваться в зависимости от количества огней в файле. Я обрабатываю каждый материал, начиная со слова «свет», как новый свет, и любые вершины, использующие этот материал, усредняются, чтобы получить местоположение света. Световые данные Blender фактически не экспортируются, поэтому я делаю это так. –

ответ

3

Да. В спецификации OpenGL четко указано, что

GL_LIGHT<n> == GL_LIGHT0 + n 
+0

Ах, ты прав. Должно было вырыться дальше. –

Смежные вопросы