我正在使用opengl es和android。我在屏幕上有三个对象,其中两个我没有使用纹理贴图,只有颜色,其中一个是我。当我注释掉绘制两个颜色对象的代码时,纹理会很好地映射到我的另一个对象上,但是当存在两个颜色对象时,纹理不会映射到我的对象上,而我只得到一个白色正方形。在绘制颜色对象之后是否需要对opengl进行调用,以便纹理在另一个对象上呈现?
答案 0 :(得分:1)
在绘制两个颜色对象之前,我猜你正在调用glDisable(GL_TEXTURE_2D)
,如果是这样,你需要在用纹理绘制对象之前调用glEnable(GL_TEXTURE_2D)
。
所以你的代码应该是这样的:
glDisable(GL_TEXTURE_2D)
drawColorObject1();
drawColorObject1();
glEnable(GL_TEXTURE_2D)
drawTextureObject();