我在 JOGL 中制作 OpenGL 中的简单 2D 游戏时遇到一些问题。我正在这个游戏中映射一些纹理。当我想要用某种颜色(无纹理)渲染一些图形对象(例如 Guads)时,我使用过程 glColor3d(x,x,x)
。该对象获得此颜色,但所有其他纹理都用此颜色着色。我只想为一个图形对象设置颜色,但此过程为随后渲染的所有对象设置颜色阴影。我该如何解决这个问题?
最佳答案
正如您已经注意到的,glColor3*
还会更改纹理的颜色。有两种方法可以解决您的问题:
- 在渲染纹理对象之前调用
glColor3d(1.0, 1.0, 1.0);
- 使用
glPushAttrib()
/glPopAttrib()
对来存储绘图属性。
无论如何,以上所有函数均已弃用 - 您可能需要查看有关新 OpenGL 的教程。
关于java - OpenGL-JOGL 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11013224/