Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenGL更改/重新加载纹理_C++_Qt_Opengl - Fatal编程技术网

C++ OpenGL更改/重新加载纹理

C++ OpenGL更改/重新加载纹理,c++,qt,opengl,C++,Qt,Opengl,所有图像的迭代,总计 glDeleteTextures(total, &Item::texture[0]); glGenTextures(total, &Item::texture[0]); 尝试重新加载纹理,但不会。纹理保持不变。有什么想法可以/应该如何处理?为了清晰起见,我正在尝试用新的纹理重新加载纹理,最好不要更改纹理的数量(因为可能会有很多更改) 我正在使用Qt,C++。上面的代码是在一个单独的GLwidget中的静态函数中。进行这些调用时,有没有可能绑定到错误的渲染上

所有图像的迭代,总计

glDeleteTextures(total, &Item::texture[0]);
glGenTextures(total, &Item::texture[0]);
尝试重新加载纹理,但不会。纹理保持不变。有什么想法可以/应该如何处理?为了清晰起见,我正在尝试用新的纹理重新加载纹理,最好不要更改纹理的数量(因为可能会有很多更改)


我正在使用Qt,C++。上面的代码是在一个单独的GLwidget中的静态函数中。

进行这些调用时,有没有可能绑定到错误的渲染上下文,或者根本没有渲染上下文?

有没有可能绑定到错误的渲染上下文,或者根本没有渲染上下文,当您进行这些调用时?

有趣的是,您总是在索引0处删除纹理,并在同一索引(0)处生成一个新的纹理,但随后在索引
i
处绑定纹理。有些东西闻起来很怪。@karlphillip
total
是纹理计数,第二个参数是数组开始指针。但是为什么要在数据发生变化时一次又一次地删除和重新创建纹理呢。。你可能是对的,我要检查一下。那么,除了删除和创建数据之外,我怎样才能以其他方式更改数据呢?有没有可能你绑定到错误的渲染上下文,或者根本没有渲染上下文,当您进行这些调用时?有趣的是,您总是在索引0处删除纹理,并在同一索引(0)处生成一个新的纹理,但随后在索引
i
处绑定纹理。有些东西闻起来很怪。@karlphillip
total
是纹理计数,第二个参数是数组开始指针。但是为什么要在数据发生变化时一次又一次地删除和重新创建纹理呢。。你可能是对的,我要检查一下。那么,除了删除和创建数据之外,我怎样才能以其他方式更改数据呢?当你进行这些调用时,有没有可能你绑定到错误的渲染上下文,或者根本没有渲染上下文?
glBindTexture( GL_TEXTURE_2D, Item::texture[i] );
glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, t.width(), t.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, t.bits() );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );