2013-10-28 105 views
1

我知道我們可以創建這樣一個FBO(無顏色附件,只是深度附件),例如可以用於陰影映射。創建沒有顏色附件的幀緩衝區對象

此外,FBO完整性檢查指出

  • 每個繪製緩衝器必須指定顏色的附着點的是 具有附着的圖像或必須GL_NONE。 (錯誤時爲GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER)。請注意,如果OpenGL 4.2或ARB_ES2_compatibility爲 可用,則不執行此 測試。

我的問題是,是否有必要。如果我不指定任何顏色的附件,是不是由OpenGL的瞭解,也不會附加任何顏色緩存,明確使用

glDrawBuffer(GL_NONE); 

提到這一點? (我的程序在OpenGL 4.0上沒有提到「glDrawBuffer(GL_NONE);」,所以我認爲它沒問題,但維基說FB完整性檢查一定失敗了)

回答

0

在我的應用程序中,陰影映射,不調用

glDrawBuffer(GL_NONE); 

如果此幀緩衝區沒有顏色附件,則不會導致不完整的幀緩衝區。

然而,一切都變成垃圾,深度紋理顯然不是可寫或可讀,或兩者兼而有之。

爲什麼這樣,這是否普遍,所以我會離開中間。我只是告訴你我的發現,而且我的發現表明你應該謹慎地忽略這個陳述。

相關問題