PBR Step by Step( 五)Phong反射模型


Lamertian模型描述了當光源直接照射到粗糙物體表面時,反射光線的分布情況。在現實中,除了直接光照,還有來自周圍環境的間接光照

直接照射到物體表面的光照,又稱為局部光照

間接照射到物體表面的光照,又稱為全局光照

左圖中點x接收到周圍環境的光線照射,來自周圍表面的反射光照稱為全局光照;右圖中點x接收來自太陽光的直接照射,來自太陽發射的直接光照稱為局部光照。

 

在現實環境中,全局光照的情況更為復雜,例如:

  • 半透明表面(Semi-transparent surfaces):光線可以穿過表面進行復雜的交互,如玻璃棱鏡,可以改變光的波長;
  • 次表面散射(Sub-Surface Scattering):光線可以穿過子表面,在同一表面的不同方向反射,如皮膚;
  • 表面滲色(Surface bleeding):光線穿過表面,在介質中改變顏色到目標表面。

其他例子還有很多,全局光照會比局部光照效果更佳柔和自然。我們在前篇中所研究的Lambertain BRDF光照模型為局部光照模型,還欠缺了全局光照因素。

環境光照Ambient

在實時渲染中模擬全局環境光照還是有一定難度的,通常為了不使場景中在沒有全局光照射的情況下呈現黑暗,可理想的認為環境光均勻分布在所有物體表面。

即環境光與位置\({p}\)和方向\({\omega_i}\)無關,在所有表面都呈現同一顏色,表示為:

\({L_i} = {l_sc_l}\)

其中,\({l_s}\)表示光照強度系數,\({c_l}\)表示光照顏色。

(未完待續,此處需補充雙半球反射率\({\rho_{hh}}\))

 

Phong反射模型

Lamertian模型是粗糙表面的理想反射模型,當光線照射到光滑表面會產生高光,Phong反射模型(Phong reflection model,1973)是其中一類的有向光照的鏡面反射模型。

根據光的反射定律:入射光線與反射光線成相同角度。

用\({l}\)表示入射光線,\({r}\)表示出射光線,\({n}\)表示物體表面法線,那么存在如下方程關系:

式①:\({r} = {al} + {bn}\)

上式中,\({a}\)和\({b}\)為常數項。對上式左右兩邊同乘\({n}\):

\({r \cdot n} = {al \cdot n} + {bn \cdot n}\)

得到式②:\({(1 - a)l \cdot n} = {b}\)

 如果用\({n}^{\perp}\)表示與表面法線\({n}\)垂直的向量,那么\({l}\)與\({r}\)在\({n}^{\perp}\)上的投影應為相反的向量,\({r} = -{l}\):

\({r \cdot n^{\perp}} = {al \cdot n^{\perp}} + {bn \cdot n^{\perp}}\)

\({-l \cdot n^{\perp}} = {al \cdot n^{\perp}}\)

得:\({a} = -1\)

 代入式①和式②中,可得\({r}\)的表達式:

\({r} = -{l} + {2(n \cdot l)n}\)

 

圍繞在反射光線\({r}\)附近的反射輻射度應隨\({\omega_o}\)與\({r}\)之間的夾角\({\alpha}\)的增加而減少。

Phong模型的鏡面反射部分表示為\({\cos \alpha}^{e} = {r \cdot \omega_o}^{e}\),\(\alpha \in {[0, \frac{\pi}{2}]}\),\({\cos \alpha} \in {[0, 1]}\),\({e}\)與\(\alpha\)存在如下函數分布關系:

分布圖中y軸代表\({e}\),x軸代表\(\alpha\),當\({e}\)增大時,隨\(\alpha\)的增加而快速收斂。

 至此可知Phong的BRDF高光項為:\({f_{r, s}(l, \omega_o)} = {k_s(r \cdot \omega_o)^{e}}\)

其中,\({k_s} \in [0, 1]\)表示為高光系數。

(未完待續)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM