NO IMAGE

原文連結:https://blog.uwa4d.com/archives/Study_Shading-Disney.html

今天給大家介紹的是一篇關於基於物理渲染(Physically Based Rendering)的技術論文。該篇論文是在2012年Siggraph圖形大會上,由迪士尼公司分享的關於PBR技術的報告。PBR是最近遊戲渲染領域中比較高階的渲染管線。相比於傳統基於Lambert以及Phong模型的渲染管線,PBR採用更加真實的材質模型,能夠更好地表現物體表面不同粗糙度帶來的不同反射效果,從而能夠更貼近真實地模擬各種不同的材質。採用PBR的材質能更好地模擬金屬、非金屬以及不同粗糙度等材質對光的反射效果。雖然PBR在最近幾年才被用於實時的遊戲渲染,但是早在幾年前它就被用於離線的電影渲染中。而這篇論文正是基於前人提出的材質模型,通過對真實測量的材質資料進行分析對比,提出新的材質模型。最終,迪士尼將這一方法應用到他們的電影渲染中。

我們推薦這篇論文,希望對PBR渲染管線原理有興趣的開發者,能夠通過此文加深對PBR的理解,從而能夠在專案開發中更好地利用PBR管線,達到滿意的渲染結果。
0.png

如上圖所示這是迪士尼公司出品的動畫電影 Wreck-It Ralph 中的截圖。可以看到人物頭頂的金屬皇冠、非金屬衣領都能達到貼近真實的渲染效果。

不同於前人提出的基於物理的材質模型,這篇文章的材質模型在設計之初並不是以物理正確為原則,而是以讓美術設計者更容易理解和使用為原則。文章作者認為是否是物理正確並不重要,重要的是能達到美術設計者的需求並且使用方便、容易理解。因此,他們提出了5個主要的設計原則:

  1. 使用方便、便於理解比物理真實更重要;
  2. 可調節引數越少越好;
  3. 引數的值都必須在效果可接受的範圍內歸一化到(0~1)之間;
  4. 引數可以被賦予超過其實際可接受範圍(0~1)之外的值;
  5. 所有引數組合的效果都必須是可接受並且穩定;

基於這5個原則,文章作者提出了用11個參數列示的材質模型,根據不同的引數,可以渲染出不同的材質,如下圖:
請輸入圖片描述
從上圖可以看到,經過對引數的簡化,文章提出的材質模型用了11個引數即可非常真實地模擬出金屬、非金屬以及不同粗糙度的材質光照結果。

文章作者基於上述的5個原則以及對真實測量資料的觀察結果,對傳統的微表面材質模型中的各項函式進行修改。接下來我們首先介紹傳統的微表面模型的通用表示式,然後對其中的每一項函式進行說明,並介紹在文章中採用的各項函式的表示式。

文章中的模型採用了微表面模型的通用形式,該通用形式最早出現在Cook-Torrance模型中:

請輸入圖片描述

其中,向量 l 和 v 分別表示入射光和視線方向,向量 h 表示 l 和 v 之間的中間向量,它們與法線方向的夾角分別用對應下標的 θ 表示, θd 表示 l 和 v 之間夾角的一半。diffuse 表示漫反射函式,D 表示微表面分佈函式,F 表示菲涅爾係數, G 表示陰影係數。文章中模型的 diffuse 函式是:
請輸入圖片描述
請輸入圖片描述

其中,roughness 表示粗糙度。對於微表面分佈函式 D,目前最好的分佈函式是著名的 GGX 函式。但是,文章作者採用了比 GGX 更為通用的形式 GTR (Generalized-Trowbridge-Reitz):

請輸入圖片描述

它與 GGX 的區別在於, GGX 為上式中 γ= 2 時的結果。文章作者採用了兩個不同的 GTR 函式來擬合高光項,分別採用 γ= 1 和 γ= 2 。α 的取值為 roughness 的平方,c 為一個常數用於調節整體縮放。對於菲涅爾項 F,文章採用了 Schlick 的公式:

請輸入圖片描述

其中, F0 為一個常量,其值取決於材質的透射係數。對於陰影係數 G ,文章作者採用了 Walter 在其論文中根據 GGX 推導的 G 公式,並將公式中的 roughness 從 [0, 1] 縮放到[0.5, 1] 範圍。做這個縮放的原因是,根據與實際測量的資料對比以及美術設計者的反饋,高光在 roughness 值較小時顯得過於亮。雖然這個縮放的過程使得模型不再物理準確,但是它符合了美術設計者的需求,這也正是這篇文章最主要的設計原則。

在下文中,我們將為大家介紹文章的實驗部分,也就是如何對真實採集資料進行觀察,並設計材質模型的。大家可以根據興趣繼續閱讀,也可直接跳到後面檢視結論和未來工作部分。


一、視覺化真實採集的BRDF資料

文章作者使用 Matusik 在2003年發表的論文中的資料集,該資料集可以免費從 Mitsubishi 實驗室官網下載(www.merl.com/brdf)。該資料集包括了木材、金屬、石頭、塑料、橡膠、纖維等真實材質的資料。每種材質根據不同入射角和出射角度進行取樣,如下圖:

請輸入圖片描述

文章作者開發了一套展示真實測量材質資料以及用 BRDF 模型渲染的結果進行比較的系統,該系統可以在 GitHub 上免費下載(github.com/wdas/brdf),如下圖所示:

請輸入圖片描述

其中,可以選擇看真實測量資料(ImageSlice),或者是渲染的資料(Lit Object/Lit Sphere)並進行對比。


二、 從真實資料觀察的結果

根據文章作者對漫反射表面的觀察發現,在 Lambert 模型的假設前提下,單純的漫反射並不帶有方向性,反射光在每一個反射方向上都是相同的值,但是很少有物體表現出 Lambert 模型的假設前提。特別是在視線與法線接近垂直的區域(grazingangle area),有的表現為快速衰減,有的表現為亮度增加,而這與物體表面的粗糙度有密切聯絡,如下圖所示:
請輸入圖片描述

從左到右是粗糙表面、光滑表面以及Lambert 模型渲染的漫反射結果,可以看到在球的邊緣處,不同程度的粗糙度表現出不同的效果,而Lambert 模型並不能很好的表現出這一特點。雖然前人提出的模型,如:Oren Nayer 以及 Hanrahan-Krueger,有對此現象作一定程度的模擬,但是並不足以表現這個現象。因此,文章作者在設計材質模型漫反射部分時將這一現象考慮在內。

根據文章作者對高光現象(對應於微表面分佈函式)的觀察發現,真實採集的資料的高光拖尾比傳統的材質模型,如:Beckmann、Blinn Phong、Gaussian 等,都要長一些。在與實際測量結果的對比中,GGX的渲染效果最接近,如下圖所示:

請輸入圖片描述

左邊是真實測量的結果,中間是用 GGX 模型渲染的結果,右邊是用 Beckmann 模型渲染的結果。因此,文章作者在提出的材質模型中採用 GGX(GTR γ= 2 時)與 GTR γ= 1 時函式混合作為高光項 D 。

請輸入圖片描述

根據文章作者對菲涅爾現象的觀察發現,所有的真實測量的材質,在入射光線與視線之間夾角接近180度時,都會出現高亮的現象。例如:上圖中,距離視點越遠的河面反射的角度越大,反射的光線的亮度就越亮(圖中1、2、3從遠到近,1最亮)。這一現象正是被 Torrance-Sparrow 微表面模型所觀察並在其模型中提出。雖然模型中的被除數項在 grazing angle 區域趨近於無限,但是由於G 項衰減抵消,不會出現問題。文章作者最終採用 Schlick 以及Walter 推導的結果來作為文章中材質模型的 F 和 G 函式。


三、更多的結果展示

下面是利用文章中演算法渲染的Wreck-ItRalph動畫電影中的一些效果圖展示。

請輸入圖片描述
請輸入圖片描述


四、結論與未來工作

今天介紹的這篇論文,通過真實測量的材質資料進行分析對比,對已有的微表面模型中的各項做了相應修改、簡化模型引數,提出新的材質模型。但是,提出這一模型的原則並非基於物理真實,而是對於美術設計者友好,並方便他們使用。雖然這篇文章中的材質模型能夠表現出更加廣泛的材質光照反射現象,但是它並不能模擬次表面散射的光照。因此,作者希望在未來工作中解決這一問題。


五、論文相關資訊

關於論文作者
Brent Burley,1996年加入迪士尼公司,目前是迪士尼動畫工作室首席軟體工程師,負責產品中渲染軟體開發。主要成果有:開發了一款開源的、用於細分曲面的紋理對映系統Ptex,將基於物理的材質模型用於產品的渲染。

下載地址
http://blog.selfshadow.com/publications/s2012-shading-course/#course_content

這是侑虎科技的原創文章,歡迎轉載分享,未經許可請勿轉載。