前言
本文主旨是對(duì)我在學(xué)習(xí)PBR(基于物理的渲染)過(guò)程中接觸到的前置知識(shí)點(diǎn)孙咪,特別是有關(guān)范疇和概念上的認(rèn)知來(lái)作一些總結(jié)和個(gè)人理解。就我而言蘸朋,PBR不光是指在渲染中使用到的光學(xué)計(jì)算會(huì)更多得遵循物理規(guī)律,更是因?yàn)樵谶@套渲染流程中,前輩們建設(shè)性得引入了微平面理論宵呛,并依照這套理論建立了合適的光照模型和物質(zhì)模型,使得藝術(shù)家們?cè)诳刂撇馁|(zhì)方面的能力不光更深了一層夕凝,而且能相對(duì)輕松的渲染出符合真實(shí)世界豐富細(xì)節(jié)變化和宏觀表現(xiàn)的作品宝穗。
我認(rèn)為學(xué)習(xí)PBR的3個(gè)主要前置概念是:
- 微平面理論;
- 基于物理的光照模型(能量守恒码秉,菲涅爾反射)逮矛;
- 一套契合的物質(zhì)分類法(金屬,半導(dǎo)體转砖,電介質(zhì))须鼎。
微平面理論
如下圖鲸伴,借用下網(wǎng)絡(luò)上的圖片:
宏觀上平坦的表面,微觀上不一定如此晋控,現(xiàn)代PBR渲染理論為了能表現(xiàn)出這種來(lái)自微觀表面帶來(lái)的對(duì)光的影響汞窗,引入了微平面理論。
微平面理論的本質(zhì)是數(shù)學(xué)上的一種建模赡译,所謂建模無(wú)非是對(duì)復(fù)雜事物的抽象仲吏,而微平面理論就是用來(lái)描述亞像素表面性狀用的,它假設(shè)宏觀不可分割的一小塊平面在微觀尺度上任然可能存在凹凸不平的起伏蝌焚,但人們并不關(guān)心這種起伏的具體細(xì)節(jié)裹唆,而是關(guān)注這些起伏對(duì)區(qū)域內(nèi)反射光線在三維空間上概率分布的影響。
為了能用簡(jiǎn)練的數(shù)學(xué)語(yǔ)言描述這種分布只洒,微平面理論視每一塊區(qū)域都是由無(wú)數(shù)面理想光學(xué)鏡面構(gòu)成许帐,由這些鏡面集合成的整體,在宏觀上可以共享一份法線信息 n红碑。這可以理解為傳統(tǒng)渲染流程中法線貼圖中每個(gè)像素點(diǎn)所帶有的法線信息舞吭;但記住我們研究的是亞像素區(qū)域,因此在微觀上這些理想光學(xué)鏡面各自也具有獨(dú)立的法線信息 m析珊。微平面理論關(guān)心的是無(wú)數(shù)個(gè)這樣的法線 m 在各個(gè)空間方向上的統(tǒng)計(jì)分布羡鸥,一般使用法線分布函數(shù)(Normal Distribution Function, NDF)表示,縮寫是字母D忠寻。
分布函數(shù)D也可以寫作D(m)或D(h)惧浴,入?yún)或h都是微表面法線的意思,函數(shù)的返回值是給定微表面方向在單位面積內(nèi)所占據(jù)的百分比大小奕剃,故單位是立體角的倒數(shù)(1/steradians)衷旅,也就是說(shuō)如果我們用D(m)dω對(duì)整個(gè)三維空域積分,那么得到的結(jié)果會(huì)是1纵朋。
如下圖所示柿顶,感性的認(rèn)識(shí)告訴我們,在微觀尺度上表面越粗糙反射越分散操软,看起來(lái)也越模糊嘁锯。按照微表面理論來(lái)解釋,這是因?yàn)榇植诒砻嬉馕吨植荚诒砻嫔系睦硐腌R面朝向越隨機(jī)聂薪,微表面法線 m 與整個(gè)宏觀表面方向n之間的差距(偏離)就更大家乘。
那么是不是當(dāng)我們輸入一個(gè)θ角的方向向量藏澳,可以直接拿法線分布函數(shù)的返回值作為在這個(gè)方向上光亮度的強(qiáng)度因子了呢仁锯?答案是否定的,微平面理論不僅認(rèn)為細(xì)分后的表面可以是凹凸不平的翔悠,而且在某些方向上可能存在幾何上的遮蔽關(guān)系:
如上圖野芒,當(dāng)沿著θ角方向考察微表面時(shí),某些面元(a)所貢獻(xiàn)的反射分量會(huì)被另一些面元(b)所遮蔽腻要,導(dǎo)致不是所有滿足法線朝向 m 的微表面會(huì)對(duì)光路折射做出直接的貢獻(xiàn)复罐。為了處理這部分光能的損耗,新的幾何遮蔽函數(shù)(Geometry masking function)被定義了雄家,用字母G表示效诅,這個(gè)函數(shù)首先與材質(zhì)本身的性質(zhì)有關(guān),一般認(rèn)為是粗糙度趟济,其次對(duì)于一種給定的材質(zhì)乱投,又與觀察方向v和光源方向l有關(guān),人們一般使用微表面法線m代替光源方向顷编,寫作G(m, v)戚炫。
D和G之間的聯(lián)系可以通過(guò)如下公式加深理解:
沿著各個(gè)方向的m去積分D(m)得到1,因子(v dot m)+表示截取在觀察方向的投影媳纬,加號(hào)表示只取用正值双肤,忽略一切負(fù)方向的投影(上圖中背向觀察方向的一側(cè))。如果不存在任何幾何遮擋钮惠,那么此時(shí)應(yīng)當(dāng)?shù)玫降仁接覀?cè)的值茅糜,v dot n,既“遮擋關(guān)系”圖例右上方的黑色實(shí)線素挽。但是我們看到如圖中淡藍(lán)色線段a所示的區(qū)域蔑赘,被b所在的區(qū)域遮擋了,為了提出這部分額外計(jì)算的量预明,我們還需要乘以幾何遮蔽函數(shù)G缩赛,修正掉被遮擋的部分。
光照模型
借用微分思想撰糠,讓我們先將目光聚焦于彌漫在自然界中各個(gè)方向光照中的其中一束酥馍,既考察當(dāng)一束方向光照射到一小塊光學(xué)平坦的物質(zhì)表面時(shí)會(huì)有怎么樣的變化。
光照射到物體的過(guò)程阅酪,本質(zhì)上是光從原先所處的介質(zhì)進(jìn)入到另一種介質(zhì)的過(guò)程旨袒,這時(shí)一部分光發(fā)生鏡面反射(reflection)重新回到原來(lái)的介質(zhì)中,另一部分發(fā)生了折射(refraction)沿一定的角度順利進(jìn)入新介質(zhì)中遮斥。反射光沿著反射方向平行射出峦失,帶走了一部分入射光的能量扇丛,同時(shí)對(duì)于金屬來(lái)說(shuō)术吗,由于不同波長(zhǎng)的光具有不同的折射率n(或者說(shuō)反射率),也就是說(shuō)一部分波長(zhǎng)(顏色)的光被可能被更多得反射了出來(lái)帆精,讓反射光染上與入射光不一樣的顏色较屿。
折射進(jìn)入物質(zhì)內(nèi)部的光有一部分被自由電子吸收(absorption)隧魄,轉(zhuǎn)化為電勢(shì)能;另一部分則會(huì)在物質(zhì)內(nèi)部進(jìn)行傳遞隘蝎,如果介質(zhì)是均勻連續(xù)沒(méi)有起伏的(如玻璃)购啄,那么光線最終會(huì)以一定角度透射(transmission)出物體,而如果介質(zhì)的密度極高(如金屬)或者內(nèi)部存在劇烈的密度起伏(如牛奶咖啡)嘱么,那么我們認(rèn)為光線會(huì)在發(fā)生多次折射/反射后重新回到入射光所在的介質(zhì)中狮含,形成次表面散射(subsurface scattering),當(dāng)觀察距離足夠遠(yuǎn)時(shí)曼振,這種微觀尺度上的散射就好似發(fā)生在入射光點(diǎn)周圍几迄,此時(shí)的次表面散射也可以叫做漫反射(diffuse)。
下圖是我根據(jù)自己對(duì)光照模型的認(rèn)識(shí)進(jìn)行的梳理和總結(jié):
物質(zhì)分類法
我們知道光是一種電磁波冰评,在微觀領(lǐng)域映胁,光與物質(zhì)的交互中,物質(zhì)的密度甲雅,微觀結(jié)構(gòu)解孙,以及自由電子多寡都是重要的影響因素。在渲染領(lǐng)域抛人,人們一般按照自由電荷的比率弛姜,將世間萬(wàn)物分類為“金屬 -> 半導(dǎo)體 -> 電介質(zhì)”共3個(gè)大類,其中金屬又稱導(dǎo)體函匕,電介質(zhì)又稱絕緣體娱据,介于中間的統(tǒng)稱半導(dǎo)體。
我們知道金屬由原子直接構(gòu)成盅惜,實(shí)驗(yàn)測(cè)得中剩,入射到金屬表面的光,絕大部分會(huì)被反射抒寂,余下少量光折射到金屬內(nèi)部并迅速被電子吸收结啼,可以認(rèn)為這種吸收非常高效且徹底,以至于幾乎沒(méi)有折射光能通過(guò)多次反射重新回到入射介質(zhì)中屈芜,形成散射郊愧。感性的認(rèn)識(shí)下,即便光澤比較暗淡的金屬井佑,諸如鐵属铁,鎳,鉻躬翁,它們的F0(垂直入射光的反射率)值高達(dá)0.6左右焦蘑,而金和銀等“亮晶晶”的金屬,其F0值高于0.95以上盒发,對(duì)光譜上的紅色部分的反射率甚至超過(guò)了1(其他波長(zhǎng)的入射光的能量因改變波長(zhǎng)而并入了紅色部分)例嘱,形成了金子獨(dú)有的亮黃色狡逢。
電介質(zhì)相對(duì)于金屬,其電學(xué)性質(zhì)和光學(xué)性質(zhì)是截然不同的拼卵。電介質(zhì)(絕緣體)本身近似于不帶自由電子奢浑,前面我們提到光的吸收本質(zhì)是激發(fā)自由電子,提高勢(shì)能的過(guò)程腋腮,聯(lián)系電介質(zhì)的特性雀彼,可以很輕易的推論出“理想電介質(zhì)很難吸收光能”這個(gè)結(jié)論,所有折射進(jìn)入物質(zhì)內(nèi)部的光即寡,幾乎都通過(guò)多次反射详羡、折射和透射,最終逃逸出了物體本身嘿悬,形成散射实柠。另一方面,由實(shí)驗(yàn)測(cè)得的絕大部分電介質(zhì)擁有非常低的F0值(通常不高過(guò)0.1)善涨,90%以上的光會(huì)首先折射進(jìn)入物體內(nèi)部窒盐,并最終散射回空氣,為我們?nèi)庋鬯姼峙 R苍S有人會(huì)問(wèn)蟹漓,如果我們看到來(lái)自電介質(zhì)的光幾乎都是未經(jīng)吸收的散射光,那豈不是所有絕緣體看起來(lái)都是入射光本身的顏色了源内,這和我們平常所見的五彩斑斕的花花草草不同呀葡粒?回答這個(gè)問(wèn)題只需要明確我們所談?wù)摰碾娊橘|(zhì)是“理想電介質(zhì)”就行,現(xiàn)實(shí)世界中的花花草草或者人體皮膚和骨骼雖然都被認(rèn)為是絕緣體膜钓,但是其本身組成成分非常復(fù)雜嗽交,比如富含鐵元素的血紅蛋白使得我們的皮膚泛出紅光,紙張上的彩色染料則由各種金屬礦物摻雜構(gòu)成颂斜,這些絕緣體內(nèi)部帶有自由電荷的部分當(dāng)然會(huì)吸收光能夫壁,染色物體。
為了進(jìn)一步弄清散射與電介質(zhì)的關(guān)系沃疮,我們將電介質(zhì)劃分為兩大類盒让,其一叫均質(zhì)(homogeneous),由同種分子構(gòu)成司蔬;另一種叫異質(zhì)(heterogeneous)邑茄,含有兩種及以上的不同分子。先說(shuō)比較簡(jiǎn)單的均質(zhì)俊啼,舉個(gè)例子肺缕,被“靜置”的“純凈”的水就是一種均質(zhì),為什么要加“靜置”這個(gè)限定呢?因?yàn)樵诠鈱W(xué)成像的范疇里搓谆,被搖晃后含有氣泡的水就不能被稱為均質(zhì)了,其中含有水分子和聚成團(tuán)的大量空氣膠囊豪墅。在現(xiàn)實(shí)世界中泉手,大多數(shù)均質(zhì)都是透明的,光線折射進(jìn)入均質(zhì)內(nèi)部后仍然保持一個(gè)朝向的光路向前傳播偶器,并且可以近似的認(rèn)為傳播途中不發(fā)生散射斩萌。類似的均質(zhì)還有玻璃,水晶和金剛石等屏轰。對(duì)于異質(zhì)來(lái)說(shuō)情況會(huì)復(fù)雜不少颊郎,基于光學(xué)成像中散射的強(qiáng)度,由弱到強(qiáng)我們可以將異質(zhì)再拆分為:混沌介質(zhì)(cloudy)霎苗、半透明介質(zhì)(translucent)以及不透明介質(zhì)(opaque)共3類姆吭。如果在均質(zhì)(比如水)中混入一定量的直徑小于光波長(zhǎng)十分之一的懸浮顆粒(比如牛奶豆?jié){之類的高分子蛋白),就構(gòu)成了混沌介質(zhì)唁盏。這種介質(zhì)對(duì)光具有較強(qiáng)的透射性内狸,但由于懸浮顆粒誘發(fā)的瑞麗散射,波長(zhǎng)較短的部分光會(huì)被偏折厘擂,比較典型的是晚霞的紅色天際線昆淡,陽(yáng)關(guān)沿著掠射角穿透了非常厚的大氣,形成瑞麗散射刽严,藍(lán)色光線被朝外偏折昂灵,留下了穿透能力較強(qiáng)的紅色光線。當(dāng)均質(zhì)中的懸浮顆粒直徑超過(guò)光的波長(zhǎng)時(shí)舞萄,瑞麗散射會(huì)被米氏散射替代眨补,這時(shí)不分光譜波長(zhǎng)的長(zhǎng)短,各個(gè)頻段的光波都會(huì)發(fā)生隨機(jī)散射倒脓,從而形成泛白的光芒渤涌,典型的事例是白色的浪花,水和水中的氣泡顆粒構(gòu)成了米氏散射的條件把还,將入射光隨機(jī)散射出水體表面实蓬。當(dāng)均質(zhì)中摻雜的顆粒足夠大,足夠多時(shí)吊履,物體透明的性狀消失安皱,成為不透明介質(zhì)。不透明介質(zhì)的散射能力最強(qiáng)艇炎,因?yàn)楣饩€既不被吸收酌伊,有沒(méi)啥透射,幾乎都被反射回空氣中,形成漫反射居砖。
所謂半導(dǎo)體虹脯,在光學(xué)成像中可以被視為介于金屬與電介質(zhì)中間的狀態(tài),不應(yīng)該被理解為物質(zhì)受激后在金屬與電介質(zhì)兩種狀態(tài)間的跳變奏候,而應(yīng)該視為是金屬與非金屬的中間態(tài)循集。它們的F0值測(cè)量后一般位于0.2到0.5之間。
我將上述理解總結(jié)如下:
參考文獻(xiàn)
CMU Computer graphics
PBR理論體系整理
PBR-White-Paper
pbs_disney_brdf_notes
光的散射