2013-11-26 19 views
1

我有一個FBO,它具有附加到其顏色附着點的大小爲4的紋理陣列。類似地,還有另一個尺寸爲4的紋理陣列連接到深度附着點。如何讀取綁定到FBO顏色附件的紋理陣列

當我渲染到這個FBO後,我想從紋理數組的第二層讀入CPU緩衝區。我該怎麼做呢?

我知道,如果有綁定到該FBO沒有質感陣列,我會做簡單:

glReadBuffer(GL_COLOR_ATTACHMENT0); 
glReadPixels(... 

但我怎麼綁定到FBO二維數組的情況下怎麼辦?我們可以調整glReadPixels以讀取特定圖層嗎?

回答

1

所以我終於想通了:你必須使用glGetTexImage()。 請注意,除非您未使用壓縮紋理,否則請勿使用glGetTexLevelParameteriv查詢其大小。 (我這樣做,我一直得到無效的操作錯誤,我認爲我沒有正確調用glGetTexImage()!)。