有没有办法检查用glGenTextures设置的opengl纹理名称是否仍然有与之关联的有效纹理?在文档中我看到有一个函数glIsTexture,但是如果纹理被删除,这个函数是否返回GL_FALSE还不清楚。
答案 0 :(得分:2)
这很复杂。
如果您在纹理名称上调用了glDeleteTextures
,那么该名称不再是纹理... 除非稍后调用glGenTextures
再次返回该名称。一旦删除纹理,OpenGL就可以在以后随意使用该名称。这就像删除一个指针;以后的内存分配可能会再次返回该指针。
所有glIsTexture
可以做的是测试纹理当前不是纹理。它可能会在以后再次变成纹理。