2010-12-10 95 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