多次绘制Opengl纹理

时间:2015-05-20 13:49:36

标签: c++ opengl

我初始化纹理 (glGenTexture, glBindTexture, glTexImage1D)并稍后绘制(glBindTexture, glTexSubImage1D, glDrawArrays()),一切正常。但有时纹理数据没有改变,我想重绘相同的纹理而不需要昂贵的glTexSubImage1D调用。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

存储纹理句柄(从glGenTextures获得的内容以及传递给glBindTexture的内容)。这是与OpenGL通信时表示纹理的原因。如果您想稍后再次使用此纹理,请使用此句柄调用glBindTexture,然后渲染几何体。它将重复使用您上次使用glTexImage1DglTexSubImage1D上传的纹理数据。

如果您还没有这样做,那么当您不再需要时,您还应该记住glDeleteTextures纹理处理。