Unreal Engine 4 PBR节选翻译 -------- Real Shading in Unreal Engine 4

Unreal Engine 4 PBR节选翻译
——– Real Shading in Unreal Engine 4
图片稍后补上

Introduction

Shading Model

Diffuse BRDF
我们评估了Burley的漫反射模型,但是仅仅看到跟Lambert模型的一点点区别。因此我们无法理解这种额外的花销。此外,对于IBL(ImageBased-Light)和Harmonic Lighting(球谐照明),任何更复杂的漫反射模型都难以被有效利用。最终导致我们并没有投入过多的精力去评估其他选择。

Cdiffuse 代表材质的漫反射的反射率(Albedo)

Microfacet Specular BRDF
一般的Cook-Torrance微平面高光模型是:

我们起步于Disney模型,并为每个项评估提供比其更高效的替换项的重要性。这做起来比听起来要困难得多。对于公布的公式的每个项,没有必要使用相同的输入参数,这是对于做正确的比较非常重要。

Specular D
对于法线分布函数(NDF),我们发现disney使用的GGX/Trowbridge-Reitz是非常消耗的。使用Blinn-Phong,额外的花销会很小,而且由于其函数的长尾巴展现的独特且自然的表现吸引了我们的美术人员。我们还采用了Disney对roughtness的重新参数化。

Specular G

相比其他,我们对镜面反射的几何衰减项进行更多选择上的评估。最后我们选择了Schlick模型。但是k = a/2,以便在GGX上更好地适应Smith模型。有了这样的修改,Schlick模型更加贴近当a=1的Smith模型,而且范围非常接近[0,1](如Figure 2)。我们同样选择去使用Disney的更改去减少“hotness”(过热),通过在平方前使用(Roughtness+1)/2,重新将roughness映射。需要注意的是,注重处理只使用于可解释的光源(Analytic Light),如果它被运用到IBL上,会导致在掠视角的地方过黑。

Specular F
对于菲涅尔,我们选择经典的Schlick方法,但是仍然有一点点的改动:我们使用Sphere Gausian 近似方法来替代power。这会使得计算有稍微改进,且画面上不会感到明显的不同。公式如下:

F0是在法线出的镜面反射率。

Image-Based Lighting
要将该渲染模型作用于IBL上,需要解决辐射度的积分。这需要用到重要性采样(Importance Sample),下面的公式描述了该积分:

下面是展示如何让我们的渲染模型处理的HLSL代码

即使使用重要性采样,还是要进行很多次采样。使用mipmap可以大幅度降低采样的次数,但是为了满足质量次数还是比16要大。由于本地反射,我们需要对每个像素进行许多次环境贴图的采样,所以我们只能对每个像素提供一次单独的采样。

Split Sum Approximation
为了达到该目的,我们近似地将上述和式拆成两个部分。每个分拆的和式都可以被预先计算。这种近似对于恒定不变的光和普通的环境是相当准确的。

Pre-Filtered Environment Map
我们对不同粗糙度预计算第一个和式,并且将结果存储到具有mipmap等级的CubeMap中。这是游戏工业的一个典型做法。一个细微的区别是我们使用重要性采样对GGX分布的Environment Map进行卷积计算。因为他是一个微平面,分布形状根据对表面观看角度的不同而改变。所以我们假设这个角度为0度,即n=v=r。这个各向同性假设是近似的第二来源,并且很不幸的,这意味着我们无法在掠视角得到足够长的反射。与拆分和式的方法相比,这是我们IBL解决方案的一个很大错误。如下面代码所示,我们发现将cos(Lk)的权重设为1将有更好的效果。
EnvironmentBRDF
第二个和式包含其他所有东西,这根正在一个完全白的环境下对specularBRDF积分,即Li(lk)=1
通过Schlick的菲涅尔近似替换,我们发现,F0是可以从积分中分解出来。

这就只剩下两个输入量:Roughness和,还有两个输出量:scale和F0的bias。上述的参数都是很方便地落于[0,1]中。我们预计算这个函数的结果,并将其保存在look-up texture(LUT)中。

完成这些工作后,我们发现,现有的和正在研究的结果都最终共同指向这个方法。Whilst Gotanda使用一个3D LUT,Dro0bot 将其优化到一个2D LUT上,这跟我们的方法类似。

最后,为了近似重要性采样,我们将两个预计算的和式相乘:

Material Model
Material Layering
Lighting Model
Area Lights
Billboard Reflections
Cone Intersection
Specular D Modification
Representative Point
Sphere Lights
Tube Lights
Conclusion

下面是一个关于该演讲的后续技术补充:
在移动平台下对UE4 PBR的改进
https://www.unrealengine.com/zh-CN/blog/physically-based-shading-on-mobile

你可能感兴趣的:(paper翻译)