我正在研究一个模拟程序,该程序在一个大的2D矩形上绘制点和其他基元,并在其上映射纹理。
问题是,当我使用glColor3f绘制多边形并为顶点指定颜色时,该颜色似乎会影响纹理的颜色而不仅仅是我绘制的多边形。因此,绘制一个红色多边形似乎会出现'#34;出血"在整个纹理上,一切都显得微红。
我试图通过在绘制多边形之前使用glDisable(GL_TEXTURE_2D)然后再次启用来解决此问题。但这似乎没有任何影响。
答案 0 :(得分:4)
glColor3f
会更改您调用后绘制的所有内容的颜色。这就是OpenGL的一般工作方式。 (glTranslate/Rotate/Scalef
,glMultMatrix
,glLoadIdentity
等工作方式与使用矩阵模式状态选择的矩阵(使用glMatrixMode
设置)更改转换状态的方式相同)
要将颜色“重置”回默认值,请拨打glColor3f(1.0f, 1.0f, 1.0f);