2010-12-10 94 views
3

我可以渲染到屏幕,但我希望能够访问着色器渲染的原始像素。我知道如何将glReadPixels从屏幕上移除,但我希望在绘制到屏幕之前访问它们,以便将帧保存到磁盘。如何访问opengl 2屏幕渲染缓冲区的原始像素数据?

具体而言,我想使用着色器来处理永不显示的图像:1)从磁盘2抓取图像)渲染它3)输出回磁盘。

回答

1

您是否尝试渲染到屏幕外纹理,如here

+0

是的,我有。 glCopyTexSubImage2D是我用来从屏幕外渲染缓冲区获取原始像素数据的命令吗? – akaru 2010-12-10 20:52:12

+2

这只会在两个纹理之间复制数据。使用glReadPixels将数据读取到缓冲区并将其存储到磁盘。 – yurymik 2010-12-10 23:22:23