OpenGL のテクスチャの 1 つでひどい動作が発生しました。
テクスチャを削除した後、新しいテクスチャを作成すると、以前と同じ tex 番号が生成されますが、テクスチャが正しくありません。また、glGetError はすべての行で常に 0 を返します。glDeleteTextures の後に glFlush/glFinish を追加しようとしましたが、何も変わりません! テクスチャ番号がどこかでロックされているようです...なぜですか?
シングルスレッドです。ここでの動作は次のとおりです。
//myTexture == 24 is loaded and works correctly
GLboolean bIsTexture = glIsTexture(myTexture); //returns 1 = > ok
glDeleteTextures(1,&myTexture);
bIsTexture = glIsTexture(myTexture); //returns 0 => ok
//Let's create a new texture
glGenTextures(1,&myTexture);//myTexture == 24 (as the glDelete was ok)
glBindTexture(GL_TEXTURE_2D,myTexture);
bIsTexture = glIsTexture(myTexture); //returns 0 => FAILS