【MIT6.837】A3:OpenGL & Phong Shading

A3:OpenGL & Phong Shading


實驗概述

  • 實現交互式相機
  • 實現Blinn-Phong光照模型及對應的光滑明暗處理技術
  • 實現繪製各個圖元的方法,尤其是球圖元的繪製

Hints

1、Phong模型與Bling-Phong的區別

  • Phong適合模擬塑料,比"反射"材質表現出的介質更光滑一些,適合模擬玻璃、水、冰等高反光特性的介質

  • BlinnPhong大多適用於金屬材質

  • Blinn-Phong它能提供比Phong更柔和、更平滑的高光,而且速度上也更快,因此成爲很多CG軟件中默認的光照渲染方法,同時也被集成到大多數的圖形芯片中

2、光滑明暗處理技術

  • 平坦着色(Flat Shading)

算法思想:

通過三角形三頂點的座標計算出整個三角形的法向量。
優缺點:
這樣就導致相鄰兩個三角形的法向量差別很大,所以就能看到明顯的三角形的邊。

  • Gouraud光亮度插值技術

算法思想:

將曲面表面某一點的光亮度做近似表示,近似值取爲該曲面的各多邊形頂點光亮度的雙線性插值。

優缺點:

採用Gouraud明暗處理不但可以克服由多邊形近似表示的曲面的光亮度不連續現象,而且計算量也很小。
1.不能正確地模擬高光。這是因爲採用光亮度插值後將使多邊形內的高光丟失。
2.所繪製畫面會誘發馬赫帶效應。
雖然光亮度雙線性插值保證了由多邊形近似表示的曲面上各處光亮度的連續變化,但在相鄰多邊形的公共邊界上光亮度的一階導數並不連續,由於人眼的光學錯覺,光亮度變化一階不連續的邊界處會呈現亮帶或黑帶,即馬赫帶效應。
3.克服這些缺點的一種方法是採用Phong明暗處理。

  • Phong法向量插值技術

算法思想:

它的基本思想是對多邊形頂點處(平均)法向量做雙線性插值,以增加一定的計算量爲代價克服了Gouraud明暗處理的缺點。

優缺點:

1.優點:繪製的圖形比Gouraud方法更真實
2.缺點:計算量遠大於Gouraud方法

實驗結果

部分結果如下:
在這裏插入圖片描述
在這裏插入圖片描述

參考資料

源代碼

Github

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