真實感圖形學研究的先驅們把真實世界中的光照效果抽象為三種獨立的光照效果的疊加,1為環境光,2為漫反射光,3為鏡面反射光。
1.環境光
在白天,屋里里任何一個不完全封閉的角落都不會是完全黑暗的。太陽光經過無數物體的反射已經能夠充斥到任何一個它能夠進入到角落。我們把這種經過經過無數次反射而彌漫開來的光成為環境光。環境光沒有方向的概念,或者說任何方向都存在着環境光。關於環境光還有個事實,1某個可以獨立分析的局部場合的環境光強和能夠進入這個地方的光的強度有關。比如:屋子里的環境光強大體是相同的,帶縫隙的櫃子里的環境光強也是大體相同的,櫃子里的環境光強要比屋子里的弱。
Ka是一個三維向量,成員的范圍是0至1。代表了某個位置對於全局環境光的各個分量的衰減比率。
2.漫反射光
漫反射光強決定於物體表面朝向與光線的方向。比如公路地面,在正午時,太陽光垂直向下的照射,我們看到地面也很刺眼;到了下午,太陽傾斜下了一些角度后,陽光斜向的照射路面,路面的亮度會降低一些。同時由於路面粗糙的性質,我們發現從任意一個角度觀察路面,亮度都是差不多。
L:從物體某一點指向光源的單位向量
N:物體表面的單位法向量
Kd:物體對於反射光線的衰減系數
由於L,N都是單位向量dot(L,N)即是L與N的夾角的余弦值。
3鏡面反射光
鏡子、金屬等表面光亮的物體會有鏡面反射光。鏡面反射光同時與物體表面朝向、光線方向、視點位置有關。如圖所示:
I是入射光,N是表面法線,R是反射光線,V是從物體上的目標觀察點指向視點的向量,a是V和R的夾角。
我們可以判斷出一個規律,夾角a越小,即視線與反射方向的偏離越小,則目標點的光強越大。Phong Bui Tuong 提出一個計算鏡面反射光強的經驗模型,稱為 phong模型,公式為:
Ks為物體對於反射光線的衰減系數
Shininess為高光指數
高光指數反映了物體表面的光澤程度。Shininess越大,反射光越集中,當偏離反射方向時,光線衰減的越厲害,只有當視線方向與反射光線方向非常接近時才能看到鏡面反射的高光現象,此時,鏡面反射光將會在反射方向附近形成亮且小的光斑;Shininess 越小,表示物體越粗糙,反射光分散,觀察到的光斑區域小,強度弱。
綜上:
examples:
只有環境光
只有漫反射光
只有鏡面反射光
三種光的合成