Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webgl glframebuffertexture2d和glTexSubImage2d之间有什么区别_Webgl_Opengl Es 2.0 - Fatal编程技术网

Webgl glframebuffertexture2d和glTexSubImage2d之间有什么区别

Webgl glframebuffertexture2d和glTexSubImage2d之间有什么区别,webgl,opengl-es-2.0,Webgl,Opengl Es 2.0,我已经使用了glTexSubImage2d,我知道它有助于部分填充图像(纹理),但我们可以使用它来提高一些性能。 或者简单地说,区别是什么?建议使用哪一个?glTexSubImage2D将一些数据复制到纹理的子矩形中 glFramebufferTexture2D将纹理附加到帧缓冲区 这两个功能完全不相关,用于完全不同的目的 帧缓冲区是可以渲染到的附件的集合(假设您的gpu/驱动程序支持您附加的附件组合。您可以通过制作帧缓冲区、将内容附加到它,然后调用glCheckframebufferStatu

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

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

glFramebufferTexture2D
将纹理附加到帧缓冲区

这两个功能完全不相关,用于完全不同的目的

帧缓冲区是可以渲染到的附件的集合(假设您的gpu/驱动程序支持您附加的附件组合。您可以通过制作帧缓冲区、将内容附加到它,然后调用
glCheckframebufferStatus
来确定它们是否受支持。如果它返回
GL\u framebuffer\u COMPLETE
,则您可以呈现该附件组合

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