【发布时间】:2023-03-18 18:33:01
【问题描述】:
似乎 glTexSubImage2D 需要一个指向完整纹理缓冲区的指针。如何仅通过提供指向更新区域而不是整个缓冲区的指针来对纹理进行部分更新?
例如,如果我想将第二张图像叠加到现有纹理上,而不是将图像数据复制到我的纹理缓冲区然后调用 glTexSubImage2D,我只需使用 opengl 来更新纹理,而无需在 RAM 位置之间复制数据。
【问题讨论】:
标签: opengl
似乎 glTexSubImage2D 需要一个指向完整纹理缓冲区的指针。如何仅通过提供指向更新区域而不是整个缓冲区的指针来对纹理进行部分更新?
例如,如果我想将第二张图像叠加到现有纹理上,而不是将图像数据复制到我的纹理缓冲区然后调用 glTexSubImage2D,我只需使用 opengl 来更新纹理,而无需在 RAM 位置之间复制数据。
【问题讨论】:
标签: opengl
您从哪里得到glTexSubImage2D 需要指向完整纹理缓冲区的指针的概念?
从上面链接的文档中,在我看来,最后一个参数是指向仅包含新数据的缓冲区的指针。其他参数用于指定要更新的纹理对象(只是一个 OpenGL 标识符,不需要指向原始数据的指针)以及将新数据复制到的偏移量和大小。
TL;DR:glTexSubImage2D 采用指向您的新数据的指针,并完全按照您在示例中的想法:)
【讨论】: