RenderingPath 渲染路徑

【參考】:http://game.ceeger.com/Manual/RenderingPaths.html

RenderingPath 渲染路徑

Deferred Lighting 延時光照

延時光照是有着最高保真度的光照和陰影的渲染路徑。如果你有很多實時燈光,最好是使用延時光照。它需要一定水平的硬件支持,僅在 Unity Pro可用,移動設備上不支持。

更多細節見延時光照頁面

 

ForwardRendering 正向渲染

正向渲染一個基於着色器的渲染路徑。它支持逐像素計算光照(包括法線貼圖和燈光Cookies)和來自一個平行光的實時陰影。在默認設置中,少數最亮的燈光在逐像素計算光照模式下渲染。其餘的燈光計算對象頂點的光照。

更多細節見正向渲染頁面

 

VertexLit 頂點光照

頂點光照(Vertex Lit) 是最低保真度的光照、不支持實時陰影的渲染路徑。最好是用於舊機器或受限制的移動平臺上。

 

關於Render Path的其他材料

Render Path,就是採取的光照流程。

 

Render Path設置

可以在Edit-> ProjectSettings->Player 裏設定,見右圖。也可以直接在攝像機的Inspector面板裏設置。

 

Render Path詳細講解

 

一、Vertex Lit

Vertex Lit即頂點光照,顧名思義, 就是所有的光照計算都是在頂點進行的,因此所有的像素運算效果都不支持,如陰影,法線貼圖,light cookies等。一個物體一般只有一個pass。效果最差,運行最快。適合老設備或者一般的移動設備。

二、Forward Lighting

Forward Lighting是以shader爲基礎的。支持像素光照(包括法線貼圖和light cookies)。支持單方向光的實時陰影。通常最亮(對環境影響最大)的光在Render Mode項勾選Important,對應Forward,其餘的用Not Important,對應Vertex Lit。
細節:

(1)最亮的幾個光源使用像素計算

(2)其次的(最多4個)使用頂點計算。剩餘的使用

(3)Spherical Harmonics (SH)計算,它是一種快速的近似算法。


判斷順序

(1)Render Mode爲Not Important的肯定是頂點計算或者SH.

(2)亮度值最高的方向光肯定是像素計算

(3)Important的是像素計算。

如果光的數量沒有達到Quaility Setting裏設置的Pixel Light Count。則依據亮度值將頂點或者SH轉換成像素計算。

 



Bass Pass: 渲染一個像素計算的方向光。以及所有頂點計算和SH方向光。之後每增加一個逐像素計算的光都需要增加一個對應的pass.LightMap在此應用,在此步的方向光可以有陰影。

Additional Pass:額外的像素計算光,無陰影。也就是說Forward Lighting只支持一個有陰影的方向光。

SH: Spherical Harmonics,效率極高,不支持light cookies和法線貼圖,更新頻率慢,不支持鏡面反射,

 

三、Deferred Lighting

Deferred Lighting 給予光照和陰影最棒的效果,對設備性能要求最高。要求Unity Pro。不支持移動設備及Flash。

細節:支持,多個帶實時陰影的光(例如足球裏多個燈打在球員身上的效果),  不真正支持反鋸齒,不支持半透明。至少是Shader Model 3.0 。光照是在屏幕裁剪空間計算的,所以複雜度是根據涉及的像素點的數量,而並不是場景模型的複雜度。適合小範圍光源

三個階段:

Base Pass: 繪製深度緩衝等裁剪空間的緩衝信息。儲存在一張ARGB32 Render Texture中,RGB存該點法線,A存鏡面反射強度。如果深度能讀取爲Texture的話,深度不會被顯式渲染。不能讀取的話,則使用着色器替換ShaderReplacement,即Camera.RenderWithShader。Base Pass的結果是,場景的物體附帶了深度緩衝,以及一張儲存法線和鏡面強度的Texture。

Lighting Pass: 只支持Blinn-Phong光照模型,陰影也是在這一步計算。之前產生的緩衝在這一步用於計算光照。產生的光照緩衝同樣是一張ARGB32 Render Texture,RGB表漫反射光的顏色,A表單色鏡面光 。

Final Pass: 將紋理顏色與儲存的光照結果組合。LightMap在這一步被應用 注意:在Deferred Lighting的這一步完成後,纔會到Forward Lighting。

 



發佈了48 篇原創文章 · 獲贊 15 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章