基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

遊資網發表於2019-05-30
這是【基於物理的渲染(PBR)白皮書】系列的第二篇文章。按照既定規劃,本文將主要關注基於物理的渲染的核心理論與渲染的光學原理,以在整個系列中起到理論支柱的作用。

從本文內容而言,只有透過渲染現象看到光與真實世界互動的本質,才能真正理解近年來基於物理的渲染成為電影和遊戲業界主流渲染解決方案背後的必然性。

首先放出本文主要內容提煉出的思維導圖,即基於物理的渲染的核心理論與渲染光學原理的知識脈絡:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

圖片較大,建議下載到本地後放大檢視。原圖下載地址:QianMo/PBR-White-Paper

當然,本文的內容並不侷限於上述思維導圖。內容方面,本文將從以下幾個方面,分別對PBR核心理論與渲染光學原理進行闡述:

  • 基於物理的渲染的核心理論
  • 渲染與人眼視覺
  • 渲染與物理光學(波動光學)
  • 渲染與幾何光學
  • 真實世界材質的渲染屬性總結


首先,是基於物理的渲染核心理論的總結。

一、基於物理的渲染核心理論總結

在上篇系列內容前瞻與總結式的文章的開頭中已經放出了PBR核心理念的1.0版,經過一段時間的打磨,以下是PBR核心理念的2.0版:

  • 微平面理論(Microfacet Theory)。微平面理論是將物體表面建模成無數微觀尺度上有隨機朝向的理想鏡面反射的小平面(microfacet)的理論。微觀幾何(microgeometry)的效果是在表面上的不同點處改變微平面的法線,從而改變反射和折射的光方向。出於著色的目的,通常會用統計方法處理這種微觀幾何現象,將表面視為具有微觀結構法線的隨機分佈,並將巨集觀表面視為在每個點處多個方向上反射(和折射)光的集合。在微觀尺度上,表面越粗糙,反射越模糊,表面越光滑,反射越集中。
  • 能量守恆(Energy Conservation)。出射光線的能量永遠不能大於入射光線的能量。隨著粗糙度的上升鏡面反射區域的面積會增加,作為平衡,鏡面反射區域的平均亮度則會下降。
  • 基於F0建模的菲涅爾反射(Fresnel Reflection)。菲涅爾效應表示觀察看到的反射光線的量與視角相關的現象,且掠射角度(90度)下反射率最大。萬物皆有菲涅爾效應。在巨集觀層面看到的實際上是微觀層面微平面菲涅爾效應的平均值,即影響菲涅爾效應的關鍵引數在於每個微平面的法向量和入射光線的角度,而不是巨集觀平面的法向量和入射光線的角度。F0即0度角入射的菲涅爾反射率。任意角度的菲涅爾反射率可由F0和入射角度計算得出。
  • 線性空間光照(Linear Space Lighting)。線性空間渲染為光照計算提供了正確的數學運算。線上性空間中,能夠還原現實世界方式的光與物質的互動的方式。所以顏色值的計算和顏色操作必須線上性空間中執行。而為了將渲染影象正確地呈現給觀看者,需要將影象編碼為伽馬空間,所以基於物理的渲染會往往會涉及到線性空間和伽馬空間之間的相互轉換。
  • 色調對映(Tone Mapping)。也稱色調複製(Tone Reproduction),在圖形學中,表示以感知上令人信服的方式將HDR場景的強度值轉換為顯示強度的過程,也可以理解為將寬範圍的光照級別擬合到螢幕有限色域內的過程。通常,由於通過HDR渲染出來的亮度值會超過顯示器能夠顯示最大亮度,所以需要結合色調對映(Tone Mapping),將光照結果從HDR轉換為顯示器能夠正常顯示的LDR。
  • 基於真實世界測量的材質引數(Real-World Measurement Based Substance Properties)。PBR的正統材質引數往往都基於真實世界測量。真實世界中的物質可分為三大類:絕緣體(Insulators),半導體(semiconductors)和導體(conductors)。在渲染和遊戲領域,我們一般只對其中的兩個感興趣:導體(金屬)和絕緣體(電解質,非金屬)。菲涅爾反射率代表材質的鏡面反射顏色與強度,是真實世界材質的核心測量數值。其中非金屬具有非彩色的鏡面反射顏色,而金屬具有彩色的鏡面反射顏色,即非金屬的F0是一個float,金屬的F0是一個float3。
  • 光照與材質解耦(Decoupling of Lighting and Material)。基於物理的渲染的核心原則之一便是材質和光照資訊的解耦,以模擬真實世界的光照現象,保證場景中所有物件之間具有視覺一致性。通過這種理念,相同的光照可以應用於所有物體和材質,無需傳統光照模型所需的額外調整和hack,就能直接得到預期而自然的渲染表現,以提升美術同學的工作效率。


而要真正理解基於物理的渲染,首先需要了解真實世界中光,材質,人眼三者之間的互動原理。下面我們從人眼視覺開始,重新認識渲染。

二、渲染與人眼視覺:我們是如何看到周圍的事物的?

首先需要注意的是,我們在現實生活中看到某一物體的顏色其實並不是這個物體本身的真實顏色,而是其反射和散射得到的顏色。換句話說,那些不能被物體吸收(Absorb)的顏色,即被反射或散射到我們人眼中的可見光波長代表的顏色,就是我們能夠感知到的物體的顏色

例如,蘋果的表面主要反射和散射紅色光線。只有紅色的波長能從蘋果表面散射或反射回來,而其他部分則被吸收,轉化為其他其他形式的能量,如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:人眼接收到蘋果反射和散射的紅色光線(圖片來自Arnold Renderer Docs)

被反射或散射的光線進入人眼後,首先穿過角膜(cornea),然後進入瞳孔(pupil)。隨後,光被晶狀體(lens)折射並撞擊視網膜(retina)中的兩種型別的感光細胞(photoreceptors),視錐細胞(cones)和視杆細胞(rods)。這些感光細胞從視野範圍內吸收光子,然後經一系列特殊複雜的生物化學通路,根據光線中的不同的波長產生不同顏色的視覺訊號,波長越高的光偏紅,波長越低的光偏藍。視覺訊號通過視神經(optical nerve)傳遞到視覺皮層(visual cortex),而視覺皮層作為處理視覺訊號的大腦區域,用於產生最終的感知影象。上述負責整體人類視覺功能的完整系統被稱為人類視覺系統(Human Visual System,HVS),如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:部分人眼視覺系統

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:不同感光細胞對不同波長的感知敏感度

只有可見光才能被人眼感知並處理,而可見光僅覆蓋完整電磁波譜在400nm和700nm之間非常有限的光譜區間。如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:電磁波譜。可見光僅覆蓋完整電磁波譜在400nm和700nm之間非常有限的光譜區間

如果要給可見光波長一個度量上的感知,400nm到700nm大約是單根蜘蛛絲的一半到三分之一的寬度,而單個蜘蛛絲本身不到人類頭髮寬度的五十分之一

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:左側可見光波長相對於單根蜘蛛絲線顯示,單根蜘蛛絲寬度略大於1微米。在右側,可以看到該蜘蛛絲線大約為人類頭髮寬度的五十分之一(圖片來自URnano/University of Rochester)

三、渲染與物理光學Rendering and Physical Optics

3.1相速度與折射率

波動光學(Wave Optics)又稱物理光學(Physical Optics)。在波動光學中,光被建模為一種電磁橫波(Transverse Wave),即使電場和磁場垂直於其傳播方向振盪的波。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:光是一種電磁橫波。電場和磁場向量以90°相互振盪並同時向傳播方向振盪。圖中所示的波是最簡單的光波。它既是單色的(具有單一波長λ)又是線性極化的(電場和磁場各自沿單向振盪)。(圖片來自Real-Time Rendering 4th)

光波的磁場和電場的振盪相互耦合,且磁場向量和電場向量相互垂直,兩者長度之比固定,該比率等於相速度(Phase Velocity)

而光在傳播到兩種不同介質交界處時,原始光波和新的光波的相速度(Phase Velocity)的比率定義了介質的光學性質,就是折射率(Index of Refraction,IOR),由字母n表示。

3.2復折射率

除了代表光的相速度的實部n之外,還用希臘字母κ(kappa)表示介質將光能轉為為其他形式能量的吸收性。nκ通常都隨波長而變化,兩者組合成複數n+iκ,稱為復折射率(complex index of refraction)。

也就是說,折射率IOR是一個複數(complex number),其分為實部和虛部兩部分:

  • 折射率的實部(real part)度量了物質如何影響光速,即相對於光在真空中傳播速度減慢的度量。
  • 折射率的虛部(imaginary part)確定了光在傳播時是否被吸收,轉換成其他形式的能量,通常是熱能。非吸收性介質虛部為零。


其中,特定材質對光的選擇性吸收是因為所選擇的光波頻率與該材質原子中的電子振動的頻率相匹配。由於不同的原子和分子具有不同的固有振動頻率,其將選擇性地吸收不同頻率的可見光。

光的吸收對視覺效果有直接影響,因為會降低光的強度,並且如果吸收對某些可見波長具有選擇性,也會改變光的顏色。如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:光的吸收導致透明介質的不同顏色外觀。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:四個小容器的液體具有不同的吸收屬性。從左到右:清水,石榴糖漿,茶和咖啡。(圖片來自Real-Time Rendering 4th)

3.3折射的發生條件

光在表面的折射條件是需要在小於單一波長的距離內發生折射率的突然變化。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:光的折射

另外,折射率緩慢的逐漸變化不會導致光線的分離,而是導致其傳播路徑的彎曲。當空氣密度因溫度而變化時,通常可以看到這種效果,例如海市蜃樓(mirages)和熱形變(heat distortion)。見下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:熱形變(heat distortion)圖示

3.4物質對吸收和散射的特性組合決定其外觀

如上文所說到的,光與物質之間的兩種相互作用模式為散射(scattering)和吸收(absorption),如下圖:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:光與物質之間的兩種相互作用模式:吸收absorption(左),散射scattering(右)(圖片來自Hoffman N.Backgroundhysics and Math of Shading)

其中:

  • 散射(scattering)決定介質的渾濁程度。大多數情況下,固體和液體介質中的顆粒都比光的波長更大,並且傾向於均勻地散射所有可見波長的光。高散射會產生不透明的外觀。
  • 吸收(absorption)決定材質的外觀顏色。幾乎任何材質的外觀顏色通常都是由其吸收的波長相關性引起的。


而每種介質的外觀是散射和吸收兩種現象的綜合結果:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:具有不同光的吸收量和散射量的介質。外觀取決於散射和吸收兩個屬性;例如,白色外觀(右下)是高散射和低吸收的結果。(圖片來自Hoffman N.Background:Physics and Math of Shading)

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:具有不同吸收和散射組合的液體容器(圖片來自Real-Time Rendering 4th)

當然,除了折射的光線,材質的外觀還與反射有關,所以,可以理解為材質的最終外觀由鏡面反射以及物質對摺射光線的吸收和散射的特性組合綜合決定。

3.5散射和吸收與觀察尺度有關

另外,散射(Scattering)和吸收(absorption)都與觀察尺度有關。在小場景中不產生任何明顯散射的介質在較大尺度上可能具有非常明顯的散射。例如,當觀察房間中的一杯水時,在空氣中的光的散射和在光在水中的吸收都是不可見的。但是,在寬闊的環境中,兩種效果都很重要,如下圖所示。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:水在數米的距離內對光線進行吸收,特別是對於紅色波長對應的光的吸收非常強烈。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:在多英里的空氣中有明顯的光的散射,即使在沒有重汙染或霧的情況下也是如此。

四、渲染與幾何光學Rendering and Geometrical Optics

關於光與非光學平坦表面的互動原理,在這個系列的第一篇文章中已經有相關總結,本文不應再贅述。這一節中,將首先對“光與介質邊界的互動型別”和“不同物質與光的互動”分別做出提煉總結。然後僅重提一下PBR理論中最核心的微平面理論,隨後便主要於關注菲涅爾反射相關的討論。

4.1光與介質邊界的互動型別總結

為了便於下面總結的理解,先提供一張經典的光與表面的互動圖示。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:光與物體表面的互動圖示。(來自GDC 2016,An End-to-End Approach to Physically Based Rendering)

當一束光線入射到物體表面時,由於物體表面與空氣兩種介質之間折射率的快速變化,光線會發生反射和折射:

  • 反射(Reflection)。光線在兩種介質交界處的直接反射即鏡面反射(Specular)。金屬的鏡面反射顏色為三通道的彩色,而非金屬的鏡面反射顏色為單通道的單色。
  • 折射(Refraction)。從表面折射入介質的光,會發生吸收(absorption)和散射(scattering),而介質的整體外觀由其散射和吸收特性的組合決定,其中:
  • 散射(Scattering)。折射率的快速變化引起散射,光的方向會改變(分裂成多個方向),但是光的總量或光譜分佈不會改變。散射最終被視作的型別與觀察尺度有關:
  • 次表面散射(Subsurface Scattering)。觀察畫素小於散射距離,散射被視作次表面散射。
  • 漫反射(Diffuse)。觀察畫素大於散射距離,散射被視作漫反射。
  • 透射(Transmission)。入射光經過折射穿過物體後的出射現象。透射為次表面散射的特例。
  • 吸收(Absorption)。具有復折射率的物質區域會引起吸收,具體原理是光波頻率與該材質原子中的電子振動的頻率相匹配。復折射率(complex number)的虛部(imaginary part)確定了光在傳播時是否被吸收(轉換成其他形式的能量)。發生吸收的介質的光量會隨傳播的距離而減小(如果吸收優先發生於某些波長,則可能也會改變光的顏色),而光的方向不會因為吸收而改變。任何顏色色調通常都是由吸收的波長相關性引起的。


如下是光與介質邊界的互動型別思維導圖版的總結:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

4.2不同物質與光的互動總結

上文已經提到,光線入射到兩種介質之間平面邊界時,會發生反射和折射,而根據材質光學性質的不同,具有不同的行為表現,從而得到不同的材質外觀。可以將材質根據光學特性,分為金屬和非金屬兩大類,具體行為可以總結如下:

  • 金屬(Metal)。金屬的外觀主要取決於光線在兩種介質的交介面上的直接反射(即鏡面反射)。金屬的鏡面反射顏色為三通道的彩色,R、G、B各不相同。而折射入金屬內部的光線幾乎立即全部被自由電子吸收,且折射入金屬的光不存在散射。
  • 非金屬(No-Metal)。非金屬即電介質,其的整體外觀主要由其吸收和散射的特性組合決定。同樣,非金屬與光的互動分為反射和折射兩部分。而折射按介質型別的散射和吸收特性,分為多類:
  • 反射(Reflection)。非金屬的鏡面反射顏色為單通道單色,即R=G=B。
  • 折射(Refraction)。光從表面折射入非金屬介質,則介質的整體外觀由其散射和吸收的特性組合決定。不同的介質型別的散射和吸收特性不一:
  • 均勻介質(Homogeneous Media)。主要為透明介質,無折射率變化。不存在散射,光總以直線傳播並且不會改變方向。存在吸收,光的強度會通過吸收減少,傳播距離越遠,吸收量越高。
  • 非均勻介質(Nonhomogeneous Media)。通常可以建模為具有嵌入散射粒子的均勻介質。具有折射率變化,分為幾類。
  • 混濁介質(Cloudy Media)。混濁介質具有弱散射,散射方向略微隨機化。根據組成的不同,具有複數折射率的物質區域引起吸收。
  • 半透明介質(Translucent Media)。半透明介質具有強散射,散射方向完全隨機化。根據組成的不同,具有複數折射率的物質區域引起吸收。
  • 不透明介質(Opaque Media)。不透明介質和半透明介質一致。具有強散射,散射方向完全隨機化。根據組成的不同,具有複數折射率的物質區域引起吸收。


如下是不同物質與光的互動型別思維導圖版的總結:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

4.3微平面理論Microfacet Theory

大多數真實世界的表面不是光學上光滑的,但是具有比光波長大得多但比畫素小的尺度的不規則性。這種微觀幾何(microgeometry)變化導致每個表面點反射(和折射)不同方向的光:材質的部分外觀組成是這些反射和折射方向的聚合結果。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:微平面理論(圖片來自The PBR Guide by allegorithmic-Vol.1)

光在與非光學平坦表面(Non-Optically-Flat Surfaces)的互動時,非光學平坦表面表現得像一個微小的光學平面表面的大集合。表面上的每個點都會以略微不同的方向對入射光反射,而最終的表面外觀是許多具有不同表面取向的點的聚合結果。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:來自非光學平坦表面的可見光反射是來自具有不同方向的許多表麵點的反射的總體結果

在微觀尺度上,表面越粗糙,反射越模糊,因為表面取向與整個巨集觀表面取向的偏離更強。(圖片來自Real-Time Rendering 4th)

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:微平面粗糙度對材質外觀的影響。(圖片來自Moving Frostbite to PBR,SIGGRAPH 2014)

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:微平面粗糙度對材質外觀的影響,從左到右粗糙度越來越大(圖片來自Arnold Renderer Docs)

4.4菲涅爾反射Fresnel Reflectance

4.4.1菲涅爾效應Fresnel Effect

菲涅爾效應(Fresnel effect)作為基於物理的渲染理念中的核心理念之一,表示的是看到的光線的反射率與視角相關的現象,由法國物理學家奧古斯丁.菲涅爾率先發現。其具體表現是在掠射角(與法線呈接近90度)下光的反射率會增加。而上述的反射率,便被稱為菲涅爾反射率。如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:菲涅爾效應圖示

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:菲涅爾效應圖示

簡單來說,菲涅爾效應即描述視線垂直於表面時反射較弱,而當視線非垂直表面時,夾角越小,反射越明顯的一種現象。比如說,當我們站在湖邊低頭看腳下的湖水,會發現水是透明的,反射不會特別強烈;而如果我們看遠處的湖面時,會發現水並不透明,而且反射非常強烈。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:菲涅爾效應圖示

需要注意的是,我們在巨集觀層面看到的菲涅爾效應實際上是微觀層面微平面菲涅爾效應的平均值

也就是說,影響菲涅爾效應的關鍵引數在於每個微平面的法向量和入射光線的角度,而不是巨集觀平面的法向量和入射光線的角度。即:

  • 當從接近平行於表面的視線方向進行觀察,所有光滑表面都會變得100%的反射性。
  • 對於粗糙表面來說,在接近平行方向的高光反射也會增強,但不夠達到100%的強度。


不同材質的菲涅爾效應的強弱是不同的,導體(如金屬)的菲涅爾效應一般很弱,主要是因為導體本身的反射率就已經很強。就拿鋁來說,其反射率在所有角度下幾乎都保持86%以上,隨角度變化很小,而絕緣體材質的菲涅爾效應就很明顯,比如折射率為1.5的玻璃,在表面法向量方向的反射率僅為4%,但當視線與表面法向量夾角很大的時候,反射率可以接近100%,這一現象也導致了金屬與非金屬外觀上的不同。

4.4.2菲涅爾方程Fresnel Equations

菲涅爾方程(Fresnel Equations),同樣是法國物理學家奧古斯丁·菲涅耳最先推匯出,用來描述光在不同折射率的介質之間的行為的方程。菲涅爾方程描述的光的反射現象便被稱之為菲涅爾反射。菲涅爾方程能解釋反射光的強度、折射光的強度、相位與入射光的強度的關係。

另外,菲涅爾方程其實和麥克斯韋方程組(Maxwell’s equations)有很深的淵源。

根據物理學,麥克斯韋方程組可以在折射率變化時計算光的行為。對於空氣中通常的物體表面而言,物體的表面便是空氣折射率和物體折射率的交介面,對此特殊的折射率交介面而言,麥克斯韋方程組的解被我們稱為菲涅爾方程(Fresnel equations)。

菲涅爾反射的方程可以通過麥克斯韋電磁學方程組推匯出來,因為本質上講菲涅爾反射其實是使用的波動理論來解釋光的反射現象。

完整的菲涅爾方程有點複雜,至少可以說藝術家所需的材質引數(在可見光譜上密集取樣的復折射率)並不方便,隨後的文章會專門討論。

而通過完整的菲涅爾方程,我們可以擬合出更簡化的近似表示式(如Schlick[1994]的Fresnel近似),以及抽象出描述物體表面屬性的菲涅爾反射率F0。先觀察下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:各種物質的菲涅爾反射率(y軸)作為入射角(x軸)的函式。由於銅和鋁在可見光譜上的反射率有明顯變化,因此它們的反射率顯示為R,G和B的三條獨立曲線。銅的R曲線最高,其次是G,最後是B(因此它的紅色)。鋁的B曲線最高,其次是G,最後是R。上圖選擇的材質代表了各種各樣的材質。儘管如此,可以看到一些共同的地方。對於0°和45°之間的入射角,反射率幾乎是恆定的。在45°和75°之間,反射率變化更為顯著(通常但不總是有所增加)。最後,在75°和90°之間,反射率總是迅速變為1(白色,如果被視為一種顏色)。(圖片來自Hoffman N.Background:Physics and Math of Shading)

由此,我們可以將F0,即0度角入射時的菲涅爾反射率,作為材質的特徵反射率,幫助我們對該材質的反射屬性進行建模。

4.4.3 F0:0度角入射時的菲涅爾反射率

上文已經提到,當光線垂直(以0度角)撞擊表面時,該光線被反射(Reflected)為鏡面反射光的比率被稱為F0。即F0為0度角入射時的菲涅爾反射率。而折射(refracted)到表面中的光量則為為1-F0。如下圖。

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:對於光滑的電介質表面,在0度角入射(F0)將反射2-5%的光,在掠射角入射下將反射100%的光(圖片來自The PBR Guide by allegorithmic-Vol.1)

大多數常見電介質的F0範圍為0.02-0.05(線性值)。對於導體,F0範圍為0.5-1.0。

關於常見物質F0的相關內容下文會做一個更系統的討論,這裡我們先了解F0與折射率的關係。

4.4.4從折射率求解F0

通用的折射率與F0的關係式如下:
基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結


其中,n1和n2分別為兩種介質的折射率。通常假設n1=1近似於空氣的折射率,並用n替換n2,於是,上式可以簡化為:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結


這就是我們通常看到的F0和折射率之間的轉換公式。

另外,這裡有一個各種物質實數折射率數值的查詢彙總表:

https://pixelandpoly.com/ior.html,對於一般僅有實數折射率的非金屬而言,可以通過查詢到的物質的折射率和上面的公式,計算出F0。

在有些渲染器中,會直接採用折射率IOR來表示材質的屬性,以下是一張渲染器中實數折射率、粗糙度二維材質的渲染對照圖:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:實數折射率、粗糙度二維材質對照圖

五、真實世界材質的渲染屬性總結

基於物理的渲染的核心理念之一是採用基於真實世界測量的材質光學引數。

由於光由電磁波組成,因此,物質的光學特性與其導電特性密切相關。我們通常把導電性較差的材質,如煤、人工晶體、琥珀、陶瓷等稱為絕緣體。而把導電性比較好的金屬如金、銀、銅、鐵、錫、鋁等稱為導體。以及將導電性質介於導體和絕緣體之間的材質稱為半導體。

即根據導電特性,可將現實生活中的物質分為三個主要光學類別:

  • 電介質(dielectrics),又稱絕緣體(Insulators),非金屬(no-metal)
  • 半導體(semiconductors)
  • 金屬(metals),又稱導體(conductors)


這裡,也放出基於物理的渲染材質分類的思維導圖:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

5.1常見材質F0參考速查圖表

本文在創作期間,參考了《Real-Time Rendering 4th》等文獻,總結和製作瞭如下的PBR材質F0反射率速查圖表,其中分別對常見材質的線性值,sRGB值和參考顏色進行了列舉,以方便PBR材質的創作:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:【PBR白皮書】常見材質F0參考速查圖表

另外,上述的PBR材質F0反射率速查表本文還提供了單頁的PDF。有需要此文字版PDF的朋友,可以從這裡下載:

【PBR白皮書】[PBR Material F0 Quick Reference Chart.PDF]下載

需要注意,我們一般使用的F0,都是空氣對於材質的F0。假如材質位於水中或其他折射率不等於1的介質中,F0會發生變化,則需要使用本文第四部分的公式通過折射率重新計算F0。

接著是對於金屬,電介質和半導體的相關特性的分類總結。

5.2金屬Metal

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:金屬渲染圖 Vray

  • 金屬具有高的F0值-幾乎總是0.5或更高。一些金屬具有在可見光譜範圍內變化的光學性質,導致了這些金屬有色的菲涅爾反射率。
  • 黃金有一個不尋常的F0值,是最亮的金屬之一。其紅色通道值略高於1,而且具有特別低的藍色通道值(低於0.5)。黃金的明亮和強烈的顏色反射可能有助於其歷史上獨特的文化和經濟意義。
  • 金屬會立即吸收任何透射光,因此它們不會出現任何次表面散射或透明感。
  • 金屬的所有可見顏色都來自F0。


基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:常見金屬F0速查表

5.3電介質Dielectrics

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:電介質:塑料渲染圖示 Vray
  • 日常生活中遇到的大多數材質都是電介質-玻璃,皮膚,木頭,頭髮,皮革,塑料,石頭和混凝土(concrete)等等。
  • 水其實也是電介質(絕緣體)。水是絕緣體這個事實可能會令人驚訝,因為在日常生活中眾所周知,水是導電的。但其實,水的導電性是由於水中的各種雜質造成的,水本身並不導電。
  • 電介質具有相當低的F0值-通常為0.06或更低。在垂直入射時的這種低反射率使得菲涅爾效應對於電介質尤其明顯。電介質的光學性質在可見光譜上很少變化很大,導致無色反射率值。
  • 另外需要注意的是,生活中看到的各種水晶和寶石,其實大多數情況下組成成分是石英(Quartz),而石英的主要化學成分為SiO2,也是電介質(絕緣體)。石英根據顏色,可以分為:紫水晶、黃水晶、粉晶、煙水晶、乳石英、白水晶等。這邊一個是紫水晶的材質特性拆解:


基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:紫水晶的材質特性拆解

另外,為方便查閱,這裡也附上常見電介質的F0速查表

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:常見電介質F0速查表

5.4半導體Semiconductor

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:最常見的半導體:矽

  • 半導體(Semiconductor)的電導率在絕緣體和導體之間。常見的半導體材質有矽、鍺、砷化鎵等,而矽是各種半導體材質中,在商業應用上最具有影響力的一種。
  • 正如半導體電導率位於絕緣體至導體之間一樣,其F0值也位於最亮的電介質和最暗的金屬之間。
  • 即是是最常見的半導體矽,在大多數場景渲染中也十分少見。出於實用性,PBR工作流一般不考慮半導體,即因避免在0.2和0.45之間的F0值。當然,故意嘗試非真實感材質或外星場景中的材質時是例外。


基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
圖:常見半導體F0速查表

六、本文內容要點總結

正文到這裡已經結束。以下是本文具有代表性知識點的提煉總結:

  • 麥克斯韋方程組在材質表面處的特殊解就是菲涅爾方程。
  • 影響菲涅爾效應的關鍵引數在於每個微平面的法向量和入射光線的角度。
  • 折射率是一個複數(complex number),實部(real part)度量了物質如何影響光速,虛部(imaginary part)確定了光在傳播時是否被吸收。
  • 具有複數折射率的物質區域引起吸收-光量隨距離減小(並且如果吸收對某些可見波長具有選擇性,則也會改變光的顏色),但光的方向不會改變。
  • 折射率的快速變化引起散射。散射最終被視作的型別與觀察尺度有關:次表面散射。觀察畫素小於散射距離,散射被視作次表面散射(Subsurface Scattering)。觀察畫素大於散射距離,散射被視作漫反射(Diffuse)。
  • 物質對摺射光線的吸收和散射的特性組合,以及對光線的反射特性共同決定了該材質的整體外觀。


其餘的總結性的內容包括4.1節的“光與介質邊界的互動型別總結”、4.2節的“不同物質與光的互動總結”,這邊就不再贅述。

作為全文的最終總結,自然也需要再次貼出文章開頭已經貼出的,本文主要內容提煉出的思維導圖:

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結
基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

另外,本文字來也會聊到線性空間渲染與Tone Mapping的更多內容,但加上後篇幅已經遠遠超出了字數限制。沒事,我們不妨在隨後的文章中再聊。


系列文章的GitHub Repo

另外,和這個系列文章一起釋出的還有一個GitHub倉庫【PBR-White-Paper】,作為這個系列文章的合集,後續整理好的PDF也會發布至此Repo中

這裡是本文的GitHub版:QianMo/PBR-White-Papergithub.com

Reference


[1]Akenine-Moller T,Haines E,Hoffman N.Real-time rendering 4th[M].AKPeters/CRC Press,2018.
[2]Hoffman N.Background:Physics and Math of Shading[J].
[3]Lagarde S,De Rousiers C.Moving Frostbite to PBR[J].Proc.Physically Based Shading Theory Practice,2014.
[4]https://learnopengl.com/#!Lighting/Colors
[5]https://www.dorian-iten.com/fresnel/
[6]https://academy.allegorithmic.com/courses/the-pbr-guide-part-1
[7]https://academy.allegorithmic.com/courses/the-pbr-guide-part-2
[8]https://docs.arnoldrenderer.com/display/A5AFMUG/Understanding+Physically+Based+Rendering+in+Arnold
[9]https://www.behance.net/gallery/35636521/Material-Studies-Metals
[10]https://www.physicsclassroom.com/class/light/Lesson-2/Light-Absorption,-Reflection,-and-Transmission
[11]https://www.cnblogs.com/starfallen/p/4019350.html
[12]https://en.wikipedia.org/wiki/Photoreceptor_cell
[13]RatkovićJ.Physically based rendering[D].Fakultet elektrotehnike iračunarstva,Sveučilište u Zagrebu,2017.
[14]題圖來自FarCry 5

基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結

前文:
基於物理的渲染(PBR)白皮書(一):PBR核心知識體系總結與概覽
基於物理的渲染(PBR)白皮書(二) PBR核心理論與渲染光學原理總結


作者:毛星雲
專欄地址:https://zhuanlan.zhihu.com/p/56967462

相關文章