Interactive 3D Graphics-Lesson3 Notes

來源:互聯網
上載者:User

公開課的一些筆記。

三種著色方式

flat shading: 三角形的頂點沒有法向量,三角形整個面才有法向量,打光時整個三角形只呈現一種顏色。
Gouraud shading: 三角形的頂點都有各自的法向量,打光時三個頂點有各自的顏色,接著做雙線性插補 (bilinear interpolation)來求得顏色,使整個三角形有漸層的顏色變化。
Phong shading: 三角形的頂點都有各自的法向量,先對三角形整個面作法向量的雙線性插補,接著打光來求整個三角形的顏色。

:

各自的複雜度:

flat shading的複雜度:N * L
Gouraud shading: 的複雜度:N * (3 * L + b * A)
Phong shading的複雜度:(B + L) * N * A
數學好的人很容易計算出複雜度:Flat<Gouraud<Phong Shading。這裡也因此說明了為何早期電腦都只支援Gouraud shading,就算已經知道Phong shading的效果比Gouraud shading好,但還是選擇效能好而效果不錯的Gouraud shading!如今GPU發展迅速,Phong Shading的效能已得到提升。

Screen-Door Transparency

透明的一種實現-透明紗窗。他用一個b位元紗窗覆蓋在物體上面,bit為1就表示這個像素透明。然後在 shading 階段將相鄰像素根據透明度混合起來。

這個方法最大的優勢就是不用考慮物體的順序,當然,在一些系統中比alpha bending會快很多。

該方法在實現延遲渲染的初期就仔細調研過,它的優點是可以以統一的方式處理半透明和不透明。但缺點也同樣比較致命:

如果以 4 個像素的方塊作為一個混合單元,只能支援 3 層半透明。

如果光照環境和材質細節較複雜,特別是高光較強時,可以看出明顯的顆粒感。且透明層數越多效果越差。

Alpha Blending

透明度用alpha表示,取值[0,1],1表示完全不透明,0表示完全透明。

顏色公式:

C=Cs*alpha+(1-alpha)*Cd

Cs表示透明板的顏色,Cd表示目標顏色。

Z-buffer

也叫深度緩衝。這是一項處理3D物體深度資訊的技術,它對不同物體和同一物體不同部分的當前Z座標進行紀錄,在進行著色時,對那些在其他物體背後的結構進行消隱,使它們不被顯示出來。Z Bufer所用的位元越高,則代表它能夠提供的景深值就越精確。圖形晶片大多支援24bit Z-Buffer而加上8bit的模板Buffer後合稱為32bit Z-Buffer。

Painter algorithm

畫家演算法也叫作優先填充,它是三維電腦圖形學中處理可見度問題的一種解決方案。當將三維情境投影到二維平面的時候,需要確定哪些多邊形是可見的,哪些是不可見的。
“畫家演算法”表示頭腦簡單的畫家首先繪製距離較遠的情境,然後用繪製距離較近的情境覆蓋較遠的部分。畫家演算法首先將情境中的多邊形根據深度進行排序,然後按照順序進行描繪。這種方法通常會將不可見的部分覆蓋,這樣就可以解決可見度問題。

Depth peeling

層次分離技術。用於形狀複雜的透明物體的繪製。如下:

先畫第一層,再畫第二層...

層數越多,越逼真。

Depth peeling可能帶來的問題:
1. 效率降低,且開銷不穩定。(pass數量依賴於相機角度,骨骼動畫等)
2. 方案本身帶來的複雜性。(如何判斷當前有多少層半透明,遮擋查詢?)
3. 無已有的可參考的產品,只有技術demo。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.