虛幻引擎的物理渲染(Real Shading in Unreal Engine 4)

UE4的PBR使用 Directional light BRDF + Imaga-based lighting

BRDF: Diffuse BRDF + Specular BRDF

Diffuse BRDF:

使用了Lambert,因為在diffuse項上更複雜的模型和Lambert區別很小

Specular BRDF

使用的是通用的macrofacet model,關鍵在與每一項的選擇上

D(h) : Specular distribution用了GGX(Trowbridge-Reitz), GGX的優勢:Fairly cheap + Longer tail(look more natural)

G(l, v, h):Geometric shadowing,用了Schlick, Schlick優勢:Matched to Smith, Cheaper but difference is minor, 需要注意的是這裡roughness用了Disneys roughness remapping,

roughness remapping:

reamapping可以在感知上在roughness上有更線性的變化,沒有remapping那麼在調節shiny材質時需要額外的參數調整

Fresnel:Schlick

Image-base lighting:

需要克服的問題:每個environment map只採樣一次,但是要匹配importance-sampled的結果,公式表示如下:

UE4採用的解決方案:split the sum, 然後預計算分開的每個部分,split如下,

第一部分存儲在pre-filtered environment map中,

第二部分存儲在2D的LUT中

結果對比圖如下:

另外UE4的Material model中使用了BaseColor + Metallic + Roughness + Cavity,並沒有使用Specular信息(後來UE4中實際提供了一個specular paramters)。其中Cavity相當於非常小範圍trace的AO,用來表示real-time shadow不能表示的小shadow。

另外由於Image Based Lighting要使用LUT,這在部分移動設備上會產生Dependent Texture Read,Birian karis在unrealengine.com/en-US/ 分享了這部分在mobile上的優化。


推薦閱讀:

什麼時候購買次世代主機(PS4 和 Xbox One)合適?
請教pbr四張貼圖的製作原理,跟以往貼圖製作起來的區別。?
有沒有可能從硬體上山寨出來廉價的次世代主機?
遊戲主機的 本世代 和 次世代 是什麼意思?
想請各位大神幫我看看這個模型的水平,謝謝大家?

TAG:3D渲染 | 次世代 | 游戏引擎 |