如何检查OpenGL纹理名称是否有效

时间:2012-03-13 02:18:26

标签: android opengl-es

我有一个Android应用程序,在某些情况下,我们的一些(但不是全部)纹理似乎变得无法绑定。 (也就是说,当我使用glBindTexture并绘制它时,它会呈现为空白纹理)

我试过从glBindTexture中寻找错误,尝试使用glGet和GL_TEXTURE_BINDING_2D,但到目前为止没有任何帮助。

有没有办法发现纹理名称是否仍然有效/指向有效数据?

我最后的办法是保存一些少量的像素数据然后,当这些事件发生时,绑定并使用glReadPixels,看看它们是否还在那里......但这似乎真的......非最佳..

这是OpenGL ES 1.0 / 1.1。

2 个答案:

答案 0 :(得分:1)

听起来像glIsTexture就是你想要的。

答案 1 :(得分:1)

glIsTexture无效回复此问题。即使纹理名称无效,glIsTexture也会返回true。这是Android实现OpenGL的一个问题。我没有解决方案。