多次绘制Opengl纹理

drawing Opengl texture several times

本文关键字:纹理 Opengl 绘制      更新时间:2023-10-16

我初始化纹理(glGenTexture, glBindTexture, glTexImage1D),然后再画(glBindTexture, glTexSubImage1D, glDrawArrays()),一切都很顺利。但有时纹理数据没有改变,我想重新绘制相同的纹理,而不需要昂贵的glTexSubImage1D调用。我该怎么做呢?

存储纹理句柄(您从glGenTextures获得的和您传递给glBindTexture的)。这是在与OpenGL通信时代表纹理的东西。当你以后想再次使用这个纹理时,调用glBindTexture,然后渲染你的几何图形。它会重复使用你最后用glTexImage1DglTexSubImage1D上传的纹理数据。

如果你还没有这样做,那么你也应该记得glDeleteTextures你的纹理句柄,当你不再需要它。