基于物理渲染的基本理论

杰夫·罗素

基于物理的渲染(PBR)是一种令人兴奋的,如果松散定义的,最近实时呈现的趋势。这个术语很多,通常会产生混淆,这究竟意味着什么。简短的回答是:“很多东西”和“它取决于”,这是相当不满意的,所以我自己试图解释一下PBR代表什么以及它与旧渲染方法的区别。本文档适用于非工程师(艺术家最有可能),不会提供任何数学或代码。

使基于物理的着色系统与其前辈不同的许多原因是关于光和表面行为的更详细的推理。阴影功能已经足够先进,现在可以安全地丢弃一些旧近似,并使用它们一些生产艺术的旧方法。这意味着工程师和艺术家都应该理解这些变化的动机。

我们必须从一些基础知识开始,以便在我们开始强调新内容之前对它们进行明确定义,但是如果您通过您可能已经知道的部分向我承担,我认为您会发现它非常值得阅读。您可能还想查看我们自己的Joe Wilson关于创建PBR图稿的文章。

扩散与反思

扩散和反射 - 也分别称为“漫反射”和“镜面”光 - 是描述表面/光相互作用的最基本分离的两个术语。大多数人会在实践层面熟悉这些想法,但可能不知道它们在物理上是如何区分的。

当光线照射到表面边界时,其中一些光线将从表面反射(即反弹)并沿着表面法线相对侧的方向前进。这种行为非常类似于抛向地面或墙壁的球 - 它会以相反的角度反弹。在光滑的表面上,这将产生镜子般的外观。通常用于描述效果的“镜面反射”一词来源于拉丁语中的“镜子”(似乎“镜面反射”听起来不像“镜像”那么尴尬)。

然而,并非所有光都从表面反射。通常有些会穿透到被照物体的内部。在那里,它将被材料吸收(通常转化为热量)或内部散布。这些散射光中的一些可能会从表面返回,然后再次可见到眼球和相机。这有许多名称:“漫射光”,“扩散”,“次表面散射” - 都描述了相同的效果。

请输入图片描述

对于不同波长的光,漫射光的吸收和散射通常是非常不同的,这是物体的颜色(例如,如果物体吸收大部分光但散射蓝色,则它将显示为蓝色)。散射通常是如此均匀混乱,可以说从各个方向看起来都是一样的 - 与镜子的情况完全不同!使用这种近似的着色器实际上只需要一个输入:“反照率”,这种颜色描述了从表面散射回来的各种颜色的光的分数。“漫反射颜色”是有时同义使用的短语。

半透明和透明度

在某些情况下,扩散更复杂 - 例如在具有更宽散射距离的材料中,例如皮肤或蜡。在这些情况下,通常不会使用简单的颜色,并且着色系统必须考虑被照亮物体的形状和厚度。如果它们足够薄,这些物体通常会看到光散射到背面,然后可以称为半透明。如果扩散甚至更低(例如,玻璃),则几乎没有明显的散射,并且整个图像可以完整地从一侧穿过物体到另一侧。这些行为与典型的“接近表面”扩散不同,通常需要使用独特的着色器来模拟它们。

节能减排

通过这些描述,我们现在有足够的信息来得出一个重要的结论,即反思和传播是相互排斥的。这是因为,为了使光漫射,光必须首先穿透表面(即,不能反射)。这在阴影术语中被称为“节能”的一个例子,这意味着离开表面的光永远不会比最初落在它上面的光更亮。

这很容易在着色系统中强制执行:只需在允许漫反射着色之前减去反射光。这意味着高反射物体几乎不会产生漫射光,仅仅是因为很少或没有光线穿透表面,主要是被反射。反之亦然:如果物体具有明亮的扩散,则它不能特别反射。

pbr_theory_conservation2

这种节能是基于物理的阴影的一个重要方面。它允许艺术家使用材料的反射率和反照率值,而不会意外违反物理定律(往往看起来很糟糕)。虽然在代码中强制执行这些约束并不是制作好看的艺术所必需的,但它确实起到了一种有用的作用,它可以防止艺术品在不同的光照条件下过度弯曲或变得不一致。

金属

导电材料,尤其是金属,在这一点上值得特别提及,原因有几个。

首先,它们往往比绝缘体(非导体)更具反射性。导体通常表现出高达60-90%的反射率,而绝缘体通常低得多,在0-20%的范围内。这些高反射率可防止大多数光线进入内部并散射,从而使金属具有非常“闪亮”的外观。

其次,导体上的反射率有时会在可见光谱范围内变化,这意味着它们的反射看起来有色。即使在导体中,这种反射着色也很少见,但它确实发生在一些日常材料中(例如金,铜和黄铜)。绝缘体作为一般规则不会表现出这种效果,并且它们的反射是无色的。

最后,电导体通常会吸收而不是散射穿透表面的任何光。这意味着理论上导体不会显示任何漫射光的证据。然而,在实践中,在金属表面上经常存在氧化物或其他残留物,其将散射少量光。

金属之间的这种二元性以及其他一切导致某些渲染系统采用“金属性”作为直接输入的东西。在这样的系统中,艺术家指定材料作为金属表现的程度,而不是明确指定反照率和反射率。这有时是优选的,作为创建材料的简单方法,但不一定是基于物理的渲染的特征。

菲涅尔

Augustin-Jean Fresnel似乎是我们不太可能忘记的那些死去的老白人之一,主要是因为他的名字贴在他首先准确描述的一系列现象上。如果没有他的名字,就很难对光的反射进行讨论。

在计算机图形学中,菲涅耳一词指的是在不同角度发生的不同反射率。具体地说,以掠射角落在表面上的光比撞击表面的光更可能反射。这意味着使用适当的菲涅耳效果渲染的对象在边缘附近看起来会有更明亮的反射。我们大多数人现在已经熟悉了一段时间,它在计算机图形学中的存在并不新鲜。然而,PBR着色器在评估菲涅耳方程时已经引起了一些重要的修正。

首先,对于所有材料,反射率变为掠射角的总和 - 在任何光滑物体上观察的“边缘”应该充当完美(无色)镜子,无论材料如何。是的,真的 - 如果它是光滑的并且以正确的角度观看,任何物质都可以作为完美的镜子!这可能违反直觉,但物理学很清楚。

关于菲涅耳特性的第二个观察是角度之间的曲线或梯度在材料与材料之间变化不大。金属是最不同的,但它们也可以通过分析来解释。

这对我们意味着,假设需要现实主义,艺术家对菲涅耳行​​为的控制通常应该减少而不是扩大。或者至少,我们现在知道在哪里设置我们的默认值!

这是一种好消息,因为它可以简化内容生成。阴影系统现在几乎完全可以自己处理菲涅耳效应; 它只需要咨询一些其他预先存在的材料属性,例如光泽度和反射率。

请输入图片描述

PBR工作流程让艺术家通过一种或另一种方式指定“基本反射率”。这提供了反射光的最小量和颜色。菲涅耳效果一旦渲染,将在艺术家指定的值之上增加反射率,在掠射角度达到100%(白色)。基本上,内容描述了基础,菲涅耳方程从那里接管,使得表面在不同角度根据需要更具反射性。

菲涅耳效应有一个很大的警告 - 当表面变得不那么光滑时,它会迅速变得不那么明显。稍后将提供有关此交互的更多信息。

微表面

以上对反射和漫射的描述都取决于表面的取向。在大规模上,这是由正在渲染的网格的形状提供的,其也可以使用法线贴图来描述较小的细节。有了这些信息,任何渲染系统都可以进入城镇,从而可以很好地渲染扩散和反射。

然而,仍有一件大件遗失。大多数真实世界的表面都有非常小的缺陷:微小的凹槽,裂缝和眼睛太少,眼睛看不到,而且太小,无法在任何理智分辨率的法线贴图中表现。尽管肉眼看不见,但这些微观特征仍会影响光的漫射和反射。

请输入图片描述

微表面细节对反射具有最显着的影响(次表面扩散不会受到很大影响,这里不再进一步讨论)。在上图中,您可以看到入射光的平行线在从较粗糙的表面反射时开始发散,因为每条光线以不同的方向撞击表面的一部分。球/墙类比中的模拟将是悬崖边或类似不平衡的东西:球仍然会以不可预测的角度反弹。简而言之,表面越粗糙,反射光就会发散得越多或看起来“模糊”。

不幸的是,在艺术品制作,存储器使用和计算方面,评估每个用于着色的微表面特征将是令人望而却步的。那么我们该怎么办呢?事实证明,如果我们放弃直接描述微表面细节,而是指定粗糙度的一般度量,我们可以编写相当准确的着色器,产生类似的结果。该度量通常被称为“光泽度”,“平滑度”或“粗糙度”。它可以指定为纹理或给定材料的常量。

这种微表面细节是任何材料的一个非常重要的特征,因为现实世界充满了各种各样的微表面特征。光泽映射不是一个新概念,但它在基于物理的着色中起着关键作用,因为微表面细节对光反射有如此大的影响。正如我们将很快看到的,PBR着色系统改进的几个与微表面特性有关的考虑因素。

节能(再次)

由于我们的假设遮阳系统现在正在考虑微表面细节,并适当地散布反射光,因此必须注意反射正确的光量。令人遗憾的是,许多旧的渲染系统错误地反映了太多或太少的光线,这取决于显微表面的粗糙度。

当方程式得到适当平衡时,渲染器应将粗糙表面显示为具有较大的反射高光,这些高光比光滑表面的较小,更锐利的高光更暗。正是这种明显的亮度差异是关键:两种材料都反射相同数量的光,但较粗糙的表面在不同的方向上展开,而更光滑的表面反射更浓的“光束”:

pbr_theory_conservationmicro2

除了前面描述的扩散/反射平衡之外,我们还必须保持第二种节能形式。正确的做法是任何有志于“基于物理”的渲染器所需的重要点之一。

所有冰雹显微表面

在上述知识的基础上,我们实现了一个很大的实现:微表面光泽直接影响反射的表观亮度。这意味着艺术家可以直接在光泽贴图中绘制变化 - 划痕,凹痕,磨损或抛光区域,无论如何 - 并且PBR系统不仅会显示反射形状的变化,还会显示相对强度。不需要“spec mask”/反射率更改!

这很重要,因为物理相关的两个真实世界量 - 微表面细节和反射率 - 现在首次在艺术内容和渲染过程中被恰当地捆绑在一起。这很像前面描述的扩散/反射平衡法:我们可以独立地创作两个值,但由于它们是相关的,因此通过尝试单独处理它们使任务变得更加困难。

此外,对现实世界材料的研究将表明反射率值变化不大(参见前面关于电导率的部分)。一个很好的例子是水和泥:两者都具有非常相似的反射率,但由于泥很粗糙并且水坑的表面非常光滑,所以它们的反射看起来非常不同。在PBR系统中创建这样一个场景的艺术家将主要通过光泽度或粗糙度图而不是调整反射率来创作差异,如下所示:

pbr_theory_watermud2

微表面特性对反射也有其他微妙的影响。例如,“边缘更亮”的菲涅耳效应随着粗糙表面而略微减弱(粗糙表面的混乱性质'散射'菲涅耳效应,阻止观察者能够清楚地解决它)。此外,大或凹的微表面特征可以“捕获”光 - 使其多次反射到表面,增加吸收并降低亮度。不同的渲染系统以不同的方式和不同的程度处理这些细节,但粗糙表面出现调光的大趋势是相同的。

Last modification:October 18th, 2018 at 05:26 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment