基本上我有一个使用纹理绘制矩形的渲染函数:
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glShadeModel(GL_SMOOTH);
glEnable(GL_TEXTURE_2D);
glShadeModel(GL_SMOOTH);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
{
glTexCoord2f(0, 0);
glVertex3f(points[0]->x, points[0]->y, 0);
glTexCoord2f(1, 0);
glVertex3f(points[1]->x, points[1]->y, 0);
glTexCoord2f(1, 1);
glVertex3f(points[2]->x, points[2]->y, 0);
glTexCoord2f(0, 1);
glVertex3f(points[3]->x, points[3]->y, 0);
}
glEnd();
glDisable(GL_TEXTURE_2D);
运行之后,我可以看到纹理图像,但它太暗了。此外,在开始时,我只能看到它的正常颜色只有几分之一秒。
有谁知道如何修复它?
答案 0 :(得分:3)
经过多次搜索,我发现,我需要将颜色设置为白色:
glColor3f(1.0f, 1.0f, 1.0f);
在开头插入。