【发布时间】:2012-06-13 10:45:30
【问题描述】:
我在 JOGL 中使用 OpenGL 中的简单 2D 游戏时遇到了一些问题。我在这个游戏中映射了一些纹理。当我想用某种颜色(无纹理)渲染一些图形对象(f.e Guads)时,我使用过程glColor3d(x,x,x)。对象得到这种颜色,但所有其他纹理都用这种颜色着色。我只想为一个图形对象设置颜色,但此过程为所有渲染的对象设置颜色阴影。我该如何解决这个问题?
【问题讨论】:
我在 JOGL 中使用 OpenGL 中的简单 2D 游戏时遇到了一些问题。我在这个游戏中映射了一些纹理。当我想用某种颜色(无纹理)渲染一些图形对象(f.e Guads)时,我使用过程glColor3d(x,x,x)。对象得到这种颜色,但所有其他纹理都用这种颜色着色。我只想为一个图形对象设置颜色,但此过程为所有渲染的对象设置颜色阴影。我该如何解决这个问题?
【问题讨论】:
正如您已经注意到的,glColor3* 还会更改纹理的颜色。有两种方法可以解决您的问题:
glColor3d(1.0, 1.0, 1.0);
glPushAttrib()/glPopAttrib() 对来存储绘图属性。无论如何,以上所有功能都已弃用 - 您可能需要查看有关新 OpenGL 的教程。
【讨论】: