将数据从一个纹理复制到另一个 - opengl

Copying data from one texture to another - opengl

我正在 SurfaceTexure 上 android 渲染我的相机预览。此 SurfaceTexture 绑定到目标 GL_TEXTURE_EXTERNAL_OES。 我想将此 SurfaceTexture 对象的纹理数据复制到绑定到 GL_TEXTURE_2D.

的自定义 OpenGL 纹理

我的onFrameAvailable回调如下:

@Override
public void onFrameAvailable(final SurfaceTexture surfaceTexture) {
    glView.queueEvent(new Runnable() {
        @Override
        public void run() {
            surfaceTexture.updateTexImage();
            //TODO: Copy this texture to the custom texture
        }
    });
}

我已经创建了自定义纹理对象。

任何人都可以帮助我完成复制部分吗?

通常的方法是将颜色附件的纹理绑定到 FBO,select 该 FBO 处于活动状态并使用 glCopyTexImage 从 FBO 复制到目标纹理。