如何更新纹理的一部分?

时间:2011-06-01 07:29:11

标签: opengl

似乎glTexSubImage2D需要指向完整纹理缓冲区的指针。如何通过仅提供指向更新区域而不是整个缓冲区的指针来对纹理进行部分更新?

例如,如果我想将第二个图像叠加到现有纹理上,而不是将图像数据复制到纹理缓冲区上,那么调用glTexSubImage2D,我只需要获取opengl来更新纹理,而无需在RAM位置之间复制数据。 / p>

1 个答案:

答案 0 :(得分:7)

你在哪里得到glTexSubImage2D需要一个指向完整纹理缓冲区的指针的概念?

从上面链接的文档中,我觉得最后一个参数是指向仅包含新数据的缓冲区的指针。其他参数用于指定要更新的纹理对象(只是一个OpenGL标识符,没有指向所需原始数据的指针)以及用于复制新数据的偏移量和大小。

TL; DR:glTexSubImage2D获取指向新数据的指针,并且完全符合您的想法:)