将纹理数据从一个纹理部分移动到另一个部分
答
glCopyPixels
让你从一个帧缓冲区复制到另一个(我从来没有使用它)。
glBlitFramebuffer
可以让你的帧缓冲区之间复制像素
glCopyTexImage
可以让你从帧缓冲区复制像素到纹理
使用这些功能,您可以完成该任务,例如,以下操作:
- 创建FBO,将纹理-1附加到第一个颜色通道
- 绑定fbo,设置视口以包含源区域
- 呼叫
glCopyTexSubImage
到纹理-2中得到的内容
这并不完全符合我一直在寻找,因为它需要渲染的纹理,读缓冲区(相当慢的操作)和复制像素。顺便说一句glBlitFramebuffer是唯一的窗口功能 – 2011-03-16 07:46:56
你似乎误解了这个想法。这里没有渲染操作。这是一个纯粹的像素处理。 GPU内部的读缓冲区不*速度慢。 'glBlitFramebuffer'是OpenGL规范的一部分,所以它不是以任何方式* windows *。 – kvark 2011-03-16 11:50:00
doh我的GPU不支持EXT_Framebuffer_object :(我正在研究一个弱嵌入式GPU,它不完全支持2.1 opengl。 – 2011-03-16 14:01:29