小编Pop*_*yto的帖子

在glGenTextures/glBindTexture之后破坏纹理编号OpenGL

我对OpenGL上的一个纹理有一个可怕的行为.

删除纹理后,我创建一个新纹理,它生成与以前相同的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
Run Code Online (Sandbox Code Playgroud)

c++ opengl opengl-es

1
推荐指数
1
解决办法
4422
查看次数

标签 统计

c++ ×1

opengl ×1

opengl-es ×1