(基於物理的渲染,簡稱PBR)物理忠實呈現-它在實時渲染一個有趣的趨勢。每個人都聽過這個詞,但是每個人都不清楚它的確切含義。簡而言之,然後:「很多事情」或「根據情況」,這沒有特別的教育。因此,我將嘗試詳細解釋什麼是PBR及其與其他可視化方法的區別。本文檔適用於非技術人員(主要是藝術家),並且不包含任何公式或代碼。
將物理上正確的照明系統與之前的照明系統區分開來的主要內容是對光和表面行為的更明確的論證。著色器的功能已經得到足夠的發展,可以安全地丟棄一些舊的近似值,並使用它們來處理一些過時的藝術製作方法。這意味著技術專家和美術人員都必須了解進行此類更改的原因。
您必須從最基本的內容開始,以便在我們開始介紹新內容之前明確定義它們。您可能已經知道其中介紹的一些材料,但是我想您會發現閱讀該文章是值得的。
***--***
擴散與反射
光與表面之間的相互作用可以分為兩種基本類型:散射光和反射光,也稱為散射(漫射)和鏡面(鏡面)光。許多人在實踐上熟悉這些術語,但可能不知道它們的物理差異是什麼。
當光到達表面邊界時,它的一部分會被反射,即會從表面反射回來,因此入射點處的表面法線會將入射角和反射角之間的角度分成兩個相等的部分。這種行為與將球扔到牆壁上的行為非常相似-它將以相反的角度反彈。因此,光滑的表面看起來「鏡像」。用來形容這種效果的「鏡面反射」一詞來自拉丁語「鏡子」(好像「鏡面反射」聽起來不像「鏡子」那樣笨重)。
但是,並非所有的光都從表面反射。通常,部分光線會穿透到照明對象中。在那裡,光被材料吸收(通常轉換為熱量)或在內部散射。有時,部分散射光會返回到外部,以便眼睛或相機可以捕捉到。這種現象有很多名稱:「漫射光」,「擴散」,「地下散射」-它們都描述相同的效果。
散射光的吸收和散射隨光的不同波長而不同,這使對象具有其顏色(例如,如果對象吸收幾乎所有的光但散射為藍色,則該對象看起來為藍色)。擴散通常是如此混亂,以至於在各個方向上都可以說是相同的-根本不像鏡子!在計算中使用此近似值的著色器僅需要一個輸入參數-「反照率」,即一種顏色,該顏色描述哪些顏色的粒子將從對象散射回外部。有時,術語「漫反射色」被用作同義詞。
半透明與透明
有時,擴散會以更複雜的方式發生-在具有高散射係數的材料(例如皮革或蠟)中。在這種情況下,僅顏色不適合。著色器系統必須考慮到照明物體的形狀和厚度。如果足夠薄,則可以看到來自背面的光如何在內部散射,然後從正面射出。此類對象稱為半透明。如果擴散甚至更低(如在玻璃中),則實際上不會發生光散射,並且圖像可以從一側完整地傳遞到另一側。此行為與通常的「表面」擴散非常不同,並且需要唯一的著色器進行模擬。
節約能源法
使用以上內容,我們可以得出一個重要的結論:反射和擴散是互斥的:要使光線擴散,它必須穿透對象(即不能反射)。在著色器術語中,這種現象被稱為能量守恆定律的一個例子,這僅意味著:離開表面的光不能比最初落在其上的光更亮。在著色器系統中易於實現。在發生擴散之前減去反射光就足夠了。即,由於幾乎沒有東西穿透表面,因此強烈反射的物體幾乎或完全不會產生散射光。反之亦然:如果物體發出明亮的漫射光,它將不會強烈反射。
這種節能方式在物理上正確的陰影方面起著重要作用。它允許藝術家使用材料的反照率和反射率值,而不會違反物理定律(通常看起來很糟糕)。這些常量在代碼中的實現雖然不是創建漂亮圖片所必需的,但是卻充當了「護士」的角色,可以防止藝術家的作品過多地違反規則或在不同的光照條件下表現不一致。
金屬
出於多種原因,應特別提及主要是金屬的導電材料。
首先,它們比電介質(非導體)更容易反射。導體反射所有光的60-90%,而電介質的質量要小得多-從0%到20%。如此高的反射率不允許光線進入內部並散射,這使金屬看起來非常「閃亮」。
其次,導體的反射率有時會沿可見光譜變化,即,導體上的反射具有色相。即使在導體中這種著色也是很少的,但是在相當日常的材料(例如金,銅,黃銅)中也會發生這種著色。電介質通常不會以這種方式運行,並且反射不會著色。
最後,導體比散射光更容易吸收穿透表面的光。因此,理論上,導電材料可能根本不會發出漫射光。然而,實際上,金屬通常包含氧化物和其他雜質,如果它們靠近表面,則它們會散射一點光。
由於金屬與幾乎所有其他金屬之間的這些差異,一些可視化系統已將「金屬性」設置為輸入參數。在這樣的系統中,藝術家可以確定材料表現得像金屬的程度,而不是直接設置反射率和反射率。有時這是創建材料的首選方法,但不一定表徵PBR。
菲涅爾
奧古斯特·盧米埃和弗雷內似乎是我們早已不該忘記的那些已死的歐洲人之一。主要是因為許多由他首次明確命名的現象都是以他的名字命名的。不提光的名字就很難談論光的反射。
在計算機圖形學中,單詞「菲涅耳」表示反射率隨角度的變化。更準確地說,入射到表面切線上的光比「落在前額上」的光更有可能被反射。也就是說,使用正確的菲涅耳設置繪製的對象在靠近邊緣時將具有更亮的反射。由於這種效應在計算機圖形學中的存在並不新鮮,因此許多人早就熟悉這種效應。但是,PBR著色器已普及了一些重要的修正,用於計算菲涅耳方程。
首先,對於所有材料,對於切線角,反射率都變為最大,也就是說,無論使用哪種材料,任何光滑物體的「邊緣」都應表現為理想的(未上漆的)鏡子。是的,的確如此- 如果任何物質都足夠光滑並且可以一定角度觀察,那麼它的行為就可以像鏡子一樣!矛盾的是,這是事實。
關於菲涅耳特性的第二個觀察結果表明,不同材料之間的角度差曲線變化不大。金屬之間的差異最大,但也可以進行分析。對我們來說,這意味著如果需要現實主義,那麼藝術家對菲涅爾行為的控制應該受到限制而不是擴大。通常,這是個好消息,因為簡化了內容的創建。著色器系統幾乎可以完全獨立地處理菲涅耳效果。考慮已經表明的材料特性(例如光澤和反射率)就足夠了。
在使用PBR時,藝術家可以通過多種方式設置「基本反射率」。這確定了反射光的最小值和顏色。渲染過程中的菲涅爾效果將在此設置值的頂部增加反射率,在陡峭的角度下反射率最高可達100%。本質上,內容描述了基礎,並且菲涅耳方程式由此產生,從而使表面在不同角度下更具反射性。
有關菲涅耳效應的重要警告是,隨著表面粗糙度的增加,菲涅耳效應會很快消失。但是稍後會更多。
微表面
上述擴散和反射取決於表面的位置。在很大程度上,此方向由選定網格的形狀確定,加上法線貼圖用於描述較小的細節。有了這些信息,任何渲染系統都將在漫反射和反射渲染方面做得很好。
但是,仍然缺少一個重要部分。在現實世界中,大多數表面的瑕疵非常小:微小的凹槽,裂縫和結節,肉眼看不見,並且太小而無法在合理範圍內顯示在任何大小的法線貼圖上。儘管它們肉眼看不見,但這些微觀特徵仍會影響光的擴散和反射。
微觀表面的細節對反射的影響最大(對地下散射的影響不大,因此本文不做進一步討論)。在上圖中,您可以看到平行的下行光線在表面遇到路徑不同方向的平面時,如何從表面反射出去。如果我們繼續用球和牆作比喻,就好比將球投向石崖或不平坦的地方:球會反彈,但方向無法預測。換句話說,表面越粗糙,光線偏轉越多,並且耀斑越模糊。
不幸的是,在藝術品生產條件下計算微表面的每個細節都是不可接受的。怎麼辦?事實證明,如果我們拒絕直接描述微表面的細節,而是指出粗糙度的一般值(「粗糙度」),則可以編寫相當準確的著色器,從而得出相似的結果。此含義也稱為光澤度,平滑度或粗糙度。對於給定的材料,可以通過紋理或常量設置。
微觀表面細節是任何材料的重要特徵,因為在現實世界中,存在各種各樣的微觀表面特徵。光澤紋理並不是新事物,但由於微觀表面的細節對光反射具有如此嚴重的影響,因此在物理正確的陰影中它起著關鍵作用。正如我們將很快看到的,關於提高PBR質量的微表面特性,存在一些考慮因素。
關於節能
由於我們的假設著色器系統考慮了微表面並因此分配了反射光,因此反射光本身的數量必須正確。不幸的是,許多較舊的渲染系統基於微表面的粗糙度,錯誤地執行了此操作,反射過多或不足。
如果方程式正確組成,則渲染器在粗糙表面上將顯示出比在光滑表面上更寬和更暗的眩光,在光滑表面上它們將更小和更銳利。關鍵在於亮度上的差異:兩種材料反射的光量相同,但是較粗糙的表面向不同的方向噴射光,而較平滑的表面反射更集中的「光束」:
除了上述擴散/反射平衡之外,這是您必須遵循的第二種節能方式。他們的正確工作是任何尋求被稱為「物理上真實的」渲染的重要因素之一。
微表面
現在,藉助所獲得的知識,我們開始了解一件非常重要的事情,實際上:微表面光澤度直接影響反射的可見亮度。這意味著藝術家可以直接對光澤卡進行更改(包括刮擦,凹痕,磨損和拋光區域,無論如何),並且PBR系統不僅會顯示反射形狀,而且會改變相對強度。無需更改規格遮罩/反射率!
這很重要,因為兩個與物理相關的量-微表面細節和反射率-首先在內容和渲染中連結在一起。正如上述平衡/擴散/反射:每個值可以單獨設置,但是由於它們的相互依賴性,任務只會變得更加複雜。
對現實世界中材料的進一步研究表明,反射率值變化不大(請參閱有關導體的部分)。汙物和水是一個很好的例子:兩者的反射率相似,但是由於汙物的表面很粗糙並且水坑的表面非常光滑,因此它們在反射光的方式上有很大的不同。
在PBR中使用相似場景工作的美術師應直接通過光澤度值(即粗糙度)來表示這種差異,而不會影響反射率。見下面的例子
微表面的特性以其他不那麼明顯的方式影響反射。例如,生鏽表面上的「邊緣變亮」的菲涅耳效應減弱(粗糙表面的混沌性質「分散」菲涅耳效應,從而使觀察者無法清楚地區分它)。此外,微表面的許多或凹入元素能夠「捕獲」光,使它們一遍又一遍地反彈離開表面,失去亮度並被表面吸收更多。不同的渲染系統會以不同的程度和方式以不同的方式計算這些細微差別,但總的來說本質是相同的:較粗糙的表面顯得較暗。
當然,關於物理上正確的渲染還可以說更多。該文章僅是基本介紹。如果您想這樣做,可以多加去練習練習。