我想将已存在于视频内存中的一个纹理的一部分复制到另一个纹理的子区域,该纹理也已存在于视频内存中。快速。无需通过CPU端内存。
这就是我尝试这样做的方式:
glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, src_texId, 0);
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindTexture(GL_TEXTURE_2D, dst_texId);
glCopyTexSubImage2D(GL_TEXTURE_2D, 0, dst_x, dst_y, src_x, src_y, width, height);
glBindTexture(GL_TEXTURE_2D, 0);
代码编译,我的目标纹理确实收到更新,但它似乎无法正常工作,因为它使用蓝色垃圾数据更新。我的做法错了吗?