将 GL_TEXTURE_EXTERNAL_OES 纹理的内容复制到 GL_TEXTURE_2D 纹理

Copy content of GL_TEXTURE_EXTERNAL_OES texture to GL_TEXTURE_2D texture

我有两个纹理,一个绑定到GL_TEXTURE_EXTERNAL_OES目标,YUV格式的像素,第二个是空的,绑定到GL_TEXTURE_2D目标。

如何在第二个纹理上显示第一个纹理的内容?

如果您可以访问 OpenGL ES 3.2,EXT_copy_image, OES_copy_image, or APPLE_copy_texture_levels,那么您可以使用这些规范定义的适当复制命令来复制图像数据。无法保证能够做到这一点,因为这些规范中的 none 定义了与 OES_EGL_image_external.

提供的格式的交互

因此即使您可以访问该命令,它也可能不适用于外部图像。

如果其中 none 可用或不起作用,那么您唯一的办法是将 2D 纹理绑定到帧缓冲区并渲染到它,将外部纹理作为源数据读取到您的片段着色器。

也就是说,外部图像的整点避免这样的副本。你还没有说明你想做什么,所以我没有真正可以给出的建议。您可能想要查看 OES_EGL_image 而不是外部图像。