OpenGL中的混色正確步驟

OpenGL中的混色
在OpenGL中實現混色的步驟類似於我們以前提到的OpenGL過程。接着設置公式,並在繪製透明對象時關閉寫深度緩存。因爲我們想在半透明的圖形背後繪製 對象。這不是正確的混色方法,但絕大多數時候這種做法在簡單的項目中都工作的很好。
Rui Martins 的補充: 正確的混色過程應該是先繪製全部的場景之後再繪製透明的圖形。並且要按照與深度緩存相反的次序來繪製(先畫最遠的物體)。
考慮對兩個多邊形(1和2)進行alpha混合,不同的繪製次序會得到不同的結果。(這裏假定多邊形1離觀察者最近,那麼正確的過程應該先畫多邊形2,再畫多邊形1。正如您再現實中所見到的那樣,從這兩個<透明的>多邊形背後照射來的光線總是先穿過多邊形2,再穿過多邊形1,最後纔到達觀察者的眼睛。)
在深度緩存啓用時,您應該將透明圖形按照深度進行排序,並在全部場景繪製完畢之後再繪製這些透明物體。否則您將得到不正確的結果。我知道某些時候這樣做是很令人痛苦的,但這是正確的方法。

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