漫反射是是投射在粗糙表面上的光向各個方向反射的現象,根據入射光線與此點的法線來決定此點的反射強度。
以:
I1=dot(N,L)=|N||L|cosθ=cosθ
模擬夾角越大漫反射的光強越小的效果
再以反射光與Textrue的RGB相乘得到材質漫反射的模擬光效
在實際使用中,爲避免RGB趨於0(黑色)的物體背面和少光照面呈現過暗的顏色
常使用Remap將cosθ重分佈於(0.2~0.5,1)的區間
高光是鏡面反射產生的物體最亮部分 在shader中,高光模型不僅僅用於模擬高光部分,而是模擬整個物體的鏡面反射。
Blinn-Phong模型是對Phong模型的改進模型
(Blinn-Phong)以:
Ibp = Ks*Il*dot(N,H)^n
模擬鏡面反射
Ks表示材質的鏡面反射係數,n指高光指數,I1即爲漫反射光強
可用slider留出拉桿控制Ks和n 製造出Smooth值不同的Material
實際材料的縫隙/凹陷處顯然不可能有鏡面反射
而Blinn-Phong公式會在凹陷處得出一定的鏡面反射光強
所以用去色的Textrue作高光補正貼圖
先將Textrue去色 再用Lerp對去色圖片做值域拉伸(0,1)→(-x,y)(x,y爲較大的值)
再用clamp函數將其重分佈回(0,1)(小於0部分(凹陷)均置0)
再與Ibp相乘得到優化後的結果