glframebuffertexture2d 和 glTexSubImage2d 有什么区别

What is the difference between glframebuffertexture2d and glTexSubImage2d

我已经使用过 glTexSubImage2d,我知道它有助于部分填充图像(纹理),但是我们可以使用 glframebuffertexture2d 来提高一些性能吗? 或者简单地说有什么区别,推荐使用哪个?

glTexSubImage2D 将一些数据复制到纹理的子矩形中

glFramebufferTexture2D 将纹理附加到帧缓冲区

这两个函数完全不相关,用途完全不同。

帧缓冲区是您可以渲染到的附件的集合(假设您的 gpu/driver 支持您附加的附件组合。您可以通过制作帧缓冲区来确定它们是否受支持,附加东西到它,然后调用 glCheckframebufferStatus。如果它 returns GL_FRAMEBUFFER_COMPLETE 那么你可以渲染到附件组合

您已经完成了可以渲染到该帧缓冲区的操作(有效地渲染到其附件中)。这是否比上传数据快取决于您。这真的取决于你的数据。帧缓冲区通常用于在运行时为阴影、环境贴图、post 处理效果的各种数据等生成纹理...