颜色覆盖opengl中的纹理映射



我在android中使用opengl。我在屏幕上有三个对象,其中两个我没有使用纹理贴图,只有颜色,还有一个我使用了。当我注释掉绘制两种颜色对象的代码时,纹理会很好地映射到我的另一个对象上,但当两种颜色的对象存在时,纹理不会映射到我对象上,我只得到一个白色正方形。绘制颜色对象后,是否需要调用opengl,以便在其他对象上渲染纹理?

在绘制两种颜色的对象之前,我猜您正在调用glDisable(GL_TEXTURE_2D),如果是这样,则需要在绘制具有纹理的对象之前调用glEnable(GL_TEXTURE_2D)

所以你的代码应该是这样的:

glDisable(GL_TEXTURE_2D)
drawColorObject1();
drawColorObject1();
glEnable(GL_TEXTURE_2D)
drawTextureObject();

最新更新