glReadPixels讀取保存圖片全黑

問題:在Android上使用 glReadPixel 讀取當前渲染數據,在若干機型(華爲P9以及魅族某魅藍手機)上讀取數據失敗,glGetError() 沒有抓到錯誤,但是獲取到的數據有誤,如果將獲取到的數據保存成爲圖片,得到的圖片爲黑色。

解決方法:

glReadPixels實際上是從緩衝區中讀取數據,如果使用了雙緩衝區,則默認是從正在顯示的緩衝(即前緩衝)中讀取,而繪製工作是默認繪製到後緩衝區的。所以 glReadPixels需要在swapbuffers 之前調用纔可以。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章