2017-05-08 24 views
2

我假設顏色附件存在於Metal以外的其他API中(我確實知道OpenGL),但我對圖形編程並不熟悉,我想知道彩色附件的概念是什麼。我所做的所有繪圖都涉及在顏色附件的數組中的第一個上設置屬性,然後進行渲染過程。顏色附件字面上只是一個緩衝區?在渲染過程中使用多個單獨的點是否將相同的圖像繪製到多個緩衝區/紋理?什麼是金屬顏色附件?

編輯:流水線狀態也有顏色附件陣列,就像我剛剛回想的那樣。如果它們本質上是緩衝區,那麼與設置管道狀態有什麼關係呢?看到你有OpenGL的一些知識

回答

2

,我就會把它在這些方面:

一個附色是紋理,其連接到一個幀緩衝區的渲染目標,用於離屏渲染。

顏色附件用於多種技術,包括反射,折射和延期着色。

就圖形流水線而言,帶附件的緩衝區往往是紋理數據源或終點渲染目標。

當您更改綁定緩衝區時,您將更改管道的狀態,因爲計算機圖形硬件是基於狀態的。您排隊整個管道的狀態更改(使用着色器x,綁定緩衝區y,設置統一z),執行這些更改,然後觀察呈現在屏幕上的結果。

+0

哦,這是有道理的。所以說,我有一個像Minecraft中的精靈表一樣的大紋理,我將在每次繪製調用時從一遍又一遍切下紋理。我會將該紋理作爲狀態本身的附件之一,以便快速重複訪問? –

+1

@SamClaus不,這只是一個紋理。通常,幀緩衝區的附件適用於要執行離屏渲染的情況。當您想要對該附件進行採樣時,只需將其與任何其他紋理進行綁定即可。 –