基于物理的渲染二(PBS)
高光反射項(xiàng)
在基于物理的渲染中丘侠,BRDF中的高光反射項(xiàng)大多是建立在微面元理論上的苛预。微面元理論認(rèn)為,物體是由許多人眼看不見的微平面組成渡蜻,雖然物體不是光學(xué)平滑的市俊,但認(rèn)為這些微平面是光學(xué)平滑的杨凑,也就是它們具有完美的高光反射。當(dāng)光線與與物體表面一點(diǎn)相交時(shí)摆昧,實(shí)際是與一系列微表面交互的結(jié)果撩满。微表面理論是對(duì)真實(shí)世界散射的一種近似。
一绅你、半角向量( half angle vector)
假設(shè)表面法線為n伺帘,這些微表面的法線m并不一定都會(huì)等于n,而在使用BRDF計(jì)算時(shí)忌锯,入射光線方向l和觀察方向v都是給定的伪嫁,這就意味著,如果光線想經(jīng)過微表面反射進(jìn)入到我們眼睛中偶垮,這些微表面的法線方向是固定的张咳,即h=(l+v)/ 2帝洪,也就是我們所稱的半角向量。見圖(a)脚猾。
但實(shí)際上并不是所有的m=h的微表面都會(huì)放到BRDF中進(jìn)行計(jì)算葱峡,還有兩種情況光線是無法進(jìn)入人眼的。
第一種就是雖然微表面法線正確龙助,但是這個(gè)微表面被其他面擋住了砰奕,這個(gè)面是無法被光照射到,所以無法進(jìn)入眼睛提鸟。見圖(b)军援。
第二種就是微表面法線也符合,也沒被其他面遮擋称勋,但是射出的時(shí)候被其他面遮擋了胸哥,這也是無法進(jìn)入人眼的。見圖(c)赡鲜。
而在現(xiàn)實(shí)中烘嘱,這些面會(huì)經(jīng)過多次光照反射最終進(jìn)入人眼,但這并不在微表面的理論中蝗蛙。
二、BRDF通用形式
基于以上假設(shè)醉鳖,提出了如下的BRDF通用形式捡硅。
其中F(l,h)為菲涅爾反射函數(shù),G(l,v,h)為陰影-遮掩函數(shù),D(h)為法線分布函數(shù)盗棵,4(n ? l)(n ? v)是用于校正從微面元的局部空間到整體宏觀表面數(shù)量差異的校正因子壮韭。
1、菲涅爾反射函數(shù)
菲涅爾反射函數(shù)計(jì)算了光學(xué)表面反射光線所占的部分纹因,表明光照方向和觀察方向夾角越大喷屋,高光反射越明顯。也相當(dāng)于一個(gè)權(quán)重瞭恰,表明每個(gè)微表面會(huì)把多少光反射到觀察方向上屯曹。一般使用Schlick 菲涅耳近似等式來近似得到菲涅爾效果:
C是高光反射的顏色。通過對(duì)真實(shí)世界材質(zhì)的觀察惊畏,金屬材質(zhì)的高光反射顏色值往往較大恶耽,非金屬往往較小。
2颜启、法線分布函數(shù)
法線分布函數(shù)D(h)表示有多少比例的微表面的法線滿足m=h偷俭,只有這些微表面才會(huì)把光線從l方向反射到v方向。大多數(shù)微表面的法線朝向分布不是均勻的缰盏。
法線分布函數(shù)必須是非負(fù)數(shù)的標(biāo)量值涌萤,它決定了高光區(qū)的大小淹遵,亮度、形狀负溪,所以非常重要透揣。
而直觀感受是當(dāng)粗糙度下降時(shí),高光效果越明顯笙以,高光區(qū)域越大淌实,這說明有更多的微表面滿足m=h,所以還要考慮粗糙度對(duì)法線分布的造成的影響猖腕。
常見的Blinn-Phong 模型拆祈,就是一種貼近微表面理論的BRDF,它的法線分布函數(shù):
fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(normalVertexWorldNormal,halfDir)),_Gloss);
其中Gloss就是和粗糙度相關(guān)的參數(shù)倘感。
但實(shí)際中放坏,Blinn-Phong并不能真實(shí)的反應(yīng)了微表面的法線分布,完全是經(jīng)驗(yàn)?zāi)P屠下辏跃陀腥颂岢隽烁鼜?fù)雜的法線分布函數(shù):GGX淤年、Beckmann。
3蜡豹、陰影-遮擋函數(shù)
G(l, v, h)是陰影-遮擋函數(shù)麸粮,也被成為幾何函數(shù),它表明在給定入射方向l觀察方向v镜廉,以及微表面法線m的情況下,在觀察方向v上光線不被其他微表面遮住的概率弄诲。在微表面理論中m可以使用半角向量h代替,因?yàn)橹挥蟹ň€滿足h的情況下才會(huì)被反射到觀察方向v上娇唯。因?yàn)楸硎靖怕势胱瘢运闹凳且粋€(gè)0到1的標(biāo)量值。
最早的陰影-遮擋函數(shù)之一是 Cook-Torrance 陰影遮擋函數(shù)( Cook 和 Torrance來源于兩個(gè)作者的姓名)塔插,在 Disney 的 BRDF 模型中梗摇,它的陰影-遮掩函數(shù) G(l, v, h)就使用了 Walter 等人提出的為 GGX 設(shè)計(jì)的 Smith 模型:
θv 表示觀察方向 v 和表面法線 n 之間的夾角。