opengl轻问题

时间:2009-12-11 10:23:56

标签: opengl colors lighting

我已经加载了一个对象,当我绘制对象时,我将颜色设置为绿色.. 绘制对象后,我用红色绘制线条。

这一切都很好。当我输入照明属性时会出现问题。 当我创建一个光源时,光项目变成白色的所有东西。 为什么照明会写出我的颜色?我该如何解决这个问题?

提前致谢..

1 个答案:

答案 0 :(得分:2)

您拥有的代码有助于诊断问题。这听起来像是设置物品的材料(定义它们如何与灯光相互作用)的问题。

您可能需要查看glColorMaterial功能。以下代码片段将对此进行设置:

GLfloat mat_specular[] = {0.3, 0.3, 0.3, 1.0};
GLfloat mat_shininess[] = { 10.0 };
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_shininess);
glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);