【发布时间】:2016-04-19 20:43:13
【问题描述】:
我正在用 C 语言编写一些软件,用于渲染黄色和棕色立方体。但是,一旦我对光进行编程,所有颜色都会变为浅蓝色。有人能解释一下为什么颜色会改变吗?我怎样才能防止这种极端的变化?
这是我用于灯光的代码:
GLfloat color1 = {0.633, 0.237, 0.170}; \\ changed to blue
void initLight()
{
GLfloat red[] = {1.0,0.0,0.0,1.0};
GLfloat white[] = {1.0,1.0,1.0,1.0};
GLfloat blueGreen[] = {0.0,0.4,1.0,1.0};
glLightModelfv(GL_LIGHT_MODEL_AMBIENT, white);
glLightfv(GL_LIGHT0,GL_AMBIENT,white);
glLightfv(GL_LIGHT0,GL_DIFFUSE,blueGreen);
glMaterialf(GL_FRONT,GL_SHININESS,127.0);
glEnable(GL_LIGHT0);
}
【问题讨论】: