2013-08-01 112 views
2

是否可以將紋理附加到具有mipmap的FBO? 我目前正試圖做到這一點。我有一個紋理與幾個mipmap級別。我將它附加到FBO。當我清除這個緩衝區的顏色時,我仍然在輸出中看到原始紋理。一旦我使用1個mipmap級別附加其他紋理,只有FBO能夠正確繪製結果。FBO和mipmap紋理

回答

2

雖然很難說沒有任何代碼的問題出在哪裏,但快速簡單的答案只是:當然這是可能的!有沒有想過所有這些glFramebufferTexture functionslevel參數是什麼?

但是,您只能寫入相應紋理的單個mipmap級別,所有其他級別都將保持不變。通常的方法是寫入mipmap級別0(如同您對非mipmapped紋理所做的那樣),並通過glGenerateMipmap生成剩餘級別。但你也可以寫信給任何其他級別或每個級別的個人。

+0

這就是我現在正在嘗試的。我應該爲每個級別調用glFrameBufferTexture2D嗎? –

+0

@MichaelIV這取決於。您可以分別寫入每個級別。但是如果更高層次只是0級的較低結果版本(對於mipmapped紋理通常是這種情況),那麼這將是一個非常愚蠢的想法,您可以執行一個'glGenerateMipmap'來自動生成它們的第一級。 –

+0

如果我設置級別= 0沒有任何變化,如果我清除color.if我設置級別= 1我可以看到清除顏色,但與下一個miplevel在它後面... –