那么问题来了:
GLfloat especularidade[COORDHOMO] = {10.0, 10.0, 10.0, 1.0};//<------here
GLint especMaterial = 6000;
glMaterialfv(GL_FRONT, GL_SPECULAR, especularidade);
/* Define a concentração do brilho sobre os objetos */
glMateriali(GL_FRONT, GL_SHININESS, especMaterial);
镜面反射颜色与其他所有颜色相同。0.0..1.0
如果您使用浮动,则每个组件都应该在范围内。也有可能光泽度也太高了,它应该在0..128.0
范围内,我肯定会在那里使用浮动glMaterialf(GL_FRONT, GL_SHININESS, 25.0)
或其他东西。
您的笔记本电脑或台式计算机具有不兼容的 OpenGL 驱动程序。固定功能 OPenGL 应该将光照计算的结果限制在 0.0..1.0 范围内(这就是固定功能纹理 opengl 场景可能显得暗淡的原因)。您的台式计算机不这样做。因此,明亮的白色场景。
PS 也强烈建议对函数和变量使用英文名称。好吧,至少如果您以后想获得有关代码的帮助。