我初始化纹理
(glGenTexture, glBindTexture, glTexImage1D)
并稍后绘制(glBindTexture, glTexSubImage1D, glDrawArrays())
,一切正常。但有时纹理数据没有改变,我想重绘相同的纹理而不需要昂贵的glTexSubImage1D
调用。我怎么能这样做?
答案 0 :(得分:0)
存储纹理句柄(从glGenTextures
获得的内容以及传递给glBindTexture
的内容)。这是与OpenGL通信时表示纹理的原因。如果您想稍后再次使用此纹理,请使用此句柄调用glBindTexture
,然后渲染几何体。它将重复使用您上次使用glTexImage1D
或glTexSubImage1D
上传的纹理数据。
如果您还没有这样做,那么当您不再需要时,您还应该记住glDeleteTextures
纹理处理。