关于rendering:如何更快地渲染深入了解3D渲染性能的指南4

20次阅读

共计 2281 个字符,预计需要花费 6 分钟才能阅读完成。

上文《如何更快地渲染?深刻理解 3D 渲染性能的指南!(3)》中,咱们介绍了如何疾速渲染中对场景中多边形数量的优化,从而减速场景的渲染速度。本文 Renderbus 云渲染农场将持续带您从场景外部灯光、用料、反射、材质等方面的优化,晋升场景渲染的速度。

灯光

每个发光器,无论是发光材质的物体还是理论的发光物体,都会向场景增加更多必须在渲染时进行追踪的光线。

尤其是在您可能会在大多数场景中应用的“全局照明”中,每种光线都会产生在场景四周反弹几次的光线–而这些光线中的每一种都必须由 GPU 或 CPU 计算。

当初,这是货色:

在某些状况下,增加光源能够放慢渲染速度:如果您应用的是 GI,并且图像中有很多暗区域,而这些区域都不容易直射光线,那么增加另一个(十分暗)的光能够使这些区域变亮。疾速革除那些嘈杂的像素。

增加灯光以便间接照亮您的主体,能够使渲染速度十分快。只有在必须几次左右反射能力达到目标时,或者如果它们自身具备更简单的性质时,灯光才会真正变慢。

例如,区域光在计算上是低廉的,因为光线跟踪器必须采样很多光线能力笼罩区域光的整个区域,所以还要确保生成的暗影很柔和。

与点光源相比,面光源是次要的减速器——尤其是大面积照明时。

尽可能尝试应用门禁灯,尤其是在照亮通过窗户照亮的室内场景时。门户照明比区域照明更高效,并且渲染速度更快。

尽可能应用聚光灯和非光线跟踪的暗影贴图,柔和暗影。应用这些能够更快地计算出软暗影,并且能够在不扭转场景外观的状况下极大地放慢渲染工夫。

应用 HDRI 或天体在室外照明中渲染场景,因为您从一个残缺(或一半)的圆顶取得平均的照明,因而 Sun 的速度通常十分快,这意味着您的光线不用为了反射所有而进行大量反射。

如果您的 3D 软件和渲染引擎具备限度灯光反弹和灯光范畴的性能,请这样做。让您的场景主体受到十分远的光线的影响,或者被其余光线阻挡 / 很难达到的光线是没有意义的。

必须屡次反射能力达到场景主体的光线所收回的光线,或者曾经衰减到简直不可见的光线可能会在渲染中引入大量噪点。

有时,您能够只应用“渲染”或“我的项目标签”来限度灯光应照亮的程度以革除乐音, 来排除任何不必要的内容。

用料

有很多“材质特色”能够减慢渲染速度,毕竟,“材质”形成了场景的整个“外表”区域。

照明能够与场景材质进行交互的三种根本形式。光能够是:

  • 反射(例如镀铬)
  • 折射(例如玻璃)
  • 局部被排汇,扩散和反射(例如皮肤)

还记得咱们所说的放弃场景中尽可能少的光线和光线反弹以更快地渲染吗?资料是成倍增加必须计算的射线数量的次要因素。

任何 Material 属性会减少场景中的光线数量或须要革除许多样本,这会使渲染速度变慢。

让咱们看一些次要的罪魁祸首:

光面反射和折射

让光线从铬球反射(硬反射)是您在 3D 中最简略的操作。

这是一个带有硬反射的 Chrome Ball 并排显示,并且须要调配样本来革除图像中的噪点(红色 = 更多样本,光明 = 更少样本):

拿这个镀铬的球并使反射变柔和(有光泽),您将创立大量必须计算的新射线。当初,依据反射的柔和度,入射光线会在各个方向上平均散射。

渲染引擎必须计算的采样和光线越多,实现渲染所需的工夫就越长。

这同样实用于光泽折射。润滑的反射和润滑的折射的联合将进一步减少渲染工夫。

当初,我并不是说不要应用润滑的折射或反射 - 它们是大多数资料的组成部分,然而当您应用它们时,请确保尽可能优化它们。

以下是优化折射和反射的办法:

  • 限度其射线反弹(跟踪深度)
  • 应用截止阈值进行优化

当您的反射或折射是润滑的(含糊的)时,您实际上无奈在反射或折射中分别出细节,咱们能够利用它来施展咱们的劣势。

因为材质中的反射 / 折射场景十分含糊,因而咱们无奈判断反射 / 折射场景是否 100%精确, 这意味着咱们能够升高折射 / 反射场景的复杂性,而无需任何人留神。

通过限度走线深度,咱们通知特定的光泽资料仅反射或折射其余对象,而不反射那些对象本人的反射或折射(达到肯定数量的深度 / 反射)

这意味着咱们能够节俭很多射线,因为咱们人为地限度了跟踪深度。咱们能够在大多数渲染引擎中执行此操作,或者间接在材质设置中执行此操作,或者有时您须要将渲染标签利用于某些对象能力应用此性能。

这是 Redshift 渲染引擎 中的外观:

咱们在上图中看到的另一个优化是“截止阈值”- 基本上,这是通知渲染器仅思考会扭转像素外观的光线,而不是定义的阈值。

看起来合乎逻辑,不是吗?

它仅应在对渲染产生显著影响的货色上应用计算资源

问题是,默认状况下,这些阈值是如此之低,以至于它们基本不会影响您的渲染工夫。您必须减少阈值能力充分利用它。试一试,看看有什么区别。应用这些能够放慢光泽反射和折射。

当然,您也能够在硬反射或折射上应用它们,然而因为在硬反射中所有都十分清晰,因而您可能会留神到截止点产生得更快。

材质凹凸 / 法线贴图 / 位移贴图

还记得光泽反射如何减少资料产生的射线数量以及革除噪声所需的样本数量吗?

在这方面,应用凹凸贴图,法线贴图或位移贴图十分类似。因为这些贴图试图伪造网格细节,因而入射光线也被它们散射。

细节越精密,产生的光线越多。即便您的网格只有几个多边形(即一个多维数据集),如果您在其顶部有一个简单的凹凸贴图,该凹凸贴图会将光线散射到整个地位,则渲染速度将大大降低。

材质纹理 / 位图

如果不应用一些杰出的位图 / 纹理,简直无奈创立 3D 场景。它们会为您的网格物体增加细节,以至于大多数状况下要进行建模会破费太多工夫。

确保您的纹理分辨率不会适度应用它。在整个场景中领有一堆 8k 纹理,即便 2k 或 1k 纹理就足够了(思考到对象的屏幕尺寸),渲染引擎也很难在整个场景中工作。

未完待续 …

正文完
 0