我在 OpenGL 中遇到了灯光问题:
我用这段代码改变了我的球灯:
switch(option) {
case ambient:
glLightfv(GL_LIGHT0,GL_AMBIENT,lum_ambient);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_ambient);
break;
case diffuse:
glLightfv(GL_LIGHT0,GL_DIFFUSE,lum_diffuse);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
break;
case specular:
glLightfv(GL_LIGHT0,GL_SPECULAR,lum_speculaire);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_speculaire);
break;
}
我可以从 Ambient 更改为漫反射或镜面反射。但是一旦我改变了,我就不能回到环境,更糟糕的是:要回到漫反射,我需要调用环境。
而且我不认为它来自这段代码:
switch (key) {
case 27:
exit(1);
case '1':
option = ambient;
glutPostRedisplay();
break;
case '2':
option = diffuse;
glutPostRedisplay();
break;
case '3':
option = specular;
glutPostRedisplay();
break;
}
知道我的问题来自哪里吗?