什么是采样?

使用像Arnold这样的渲染器时,有必要对光线跟踪渲染背后的核心原理有一个基本的了解。生成逼真的虚拟场景图像需要模拟从光源到相机的场景中光的传播。为了确定每个图像像素的颜色,Arnold从场景几何图形,着色器,灯光等中收集信息,并跟踪许多随机光传输路径,这些路径将通过像素看到的对象连接到光源 - 这个过程称为'采样'。所得图像的质量很大程度上取决于为每个像素生成的路径或样本的数量。

渲染图像时,Arnold必须通过检查场景来确定每个像素的颜色值。Arnold通过从相机的位置发出一些光线直到它们撞到场景中的物体来实现这一点。每次光线撞击一个物体时,它都会执行一些计算,最终会返回一条关于物体的信息(例如它的颜色)。该过程基本上可以描述为对虚拟相机的图像平面中的像素进行“采样”。


在每个像素中使用太少样本计算的渲染可能是有噪点的。增加每个像素的样本数量可以减少噪点图像,从而更好地表示实际场景。下面的图像显示了增加场景中相机(AA)样本数量时的比较。增加相机(AA)样本不仅可以减少混叠噪点,还可以添加更多的二次光线样本,从而降低照明噪点。

1相机(AA):1x1 =每像素1个样本(图像显示噪点)
6相机(AA):6x6 = 36(噪点降低)

相机(AA)采样

那么,什么是相机采样?基本上,通过渲染的屏幕窗口的每个所需像素将多个光线从相机拍摄到场景中。这些被称为“主光线”,但有时它们被称为“眼睛”或“相机光线”(相机(AA)(抗锯齿)),因为它们是从渲染视图中投射出来的。有时它们被称为“像素样本”。

相机(AA)值控制像素超级采样率,或每个像素将从相机跟踪的光线数量。样本数越多,抗锯齿质量越好,但渲染时间越长。

请注意,此过程不是线性的,因为对于这些采样率中的每一个,采样的实际数量是输入值的平方。例如,如果Camera(AA)样本为3,则意味着3x3 = 9个样本将用于抗锯齿。如果Diffuse样本为2,则2x2 = 4个样本将用于Diffuse GI。这同样适用于其他值。

这些AA样本可以被描述为主光线(或像素样本)并且确定正被渲染的图像的整体质量。增加AA样本可以提高图像的整体质量,但通常会浪费,因为它会提高所有内容的采样率。W¯¯ 噪点源中的场景被识别母鸡,它是更有效的设定的采样值,以增加只有这些特定光线的数量。例如,如果有一个有很多运动模糊的场景,需要更大的相机(AA)样本,因此可以减少其他样本值。同样,增加相机(AA)也可以使间接照明受益,因此不需要那么多的漫反射样本。但是,如果你要降低角色皮肤上的噪点,那么拥有更高的SSS样本并且摄像机(AA)样本的值不是很高。

光采样

直接照明光线可以描述为处理光线的光线。这些光线从场景中的位置行进到各种光源。这些光线确定表面是否处于阴影中,如果不是,则可以计算照明信息。

灯光噪点有时难以诊断,特别是如果是大面积或大尺寸的灯光。在这些情况下,有时可能会误认为是间接的漫反射噪点。这突出了测试不同噪点射线类型的必要性。如果问题是阴影噪点,那么我们可以简单地在Arnold渲染设置中切换忽略阴影,噪点将完全解决。下图显示了阿诺德如何追踪光线。

一些光线照射到物体上,而其他光线则没有在阿诺德拍摄光线

直接和间接射线可能会出现前面描述的相同噪点问题。来自直接光源的噪点通常出现在镜面高光或区域光源的大而柔和的阴影中。如果是这种情况,则需要增加光样本的数量。下图显示了将光样本数量从1增加到3时阴影噪点的差异。

1个浅色样本。很吵。
3个轻样。噪点得到改善。

在尝试评估场景中的噪点时,将一个噪点源与另一个噪点源分开可能很有用。禁用“漫反射”光线(0)有助于识别存在哪种类型的噪点。在尝试优化场景中间接漫反射光线的数量时,不是增加漫反射光线的数量(每个漫反射样本的渲染时间将加倍),噪点源首先需要隔离。

光噪点和漫射噪点(很难分辨哪个是哪个)。
漫反射设置为0(禁用)。光噪点更容易识别。

漫射光采样

来自发光绿色立方体的间接(漫射)照明。翻转图像仅查看直接照明(漫反射样本0)

间接漫反射光线是与对象及其表面着色器交互的光线。因此,光线在由分配给对象的着色器确定的方向上在场景中传播。透射光线穿过物体。当光线照射反射物体(例如镜子)时,在从入射光线确定的方向上仅从该点跟踪一条反射光线。相反,漫射光线在击中点周围的半球中随机采样。

该图显示了如何在Arnold渲染中传播漫反射光线

镜面光线采样

渲染光泽镜面时,噪点也可能是一个问题,就像漫射光线一样。明亮的热点可能会在间接镜面样本中产生噪点。例如,小而明亮的灯光的宽镜面反射。如果问题是镜面反射高光中的噪点,则需要确认光源是直射光而不是次光线类型(例如镜面反射)。通过将GI_diffuse_depth,GI_specular_depth设置为零(这实际上关闭了所有全局照明),可以轻松实现这一点。如果噪点仍然存在,我们知道它是照明模型的直接镜面反射分量。在大多数情况下,可以通过增加镜面样本的数量来解决它。

1(样品不足) 4(样品充足,噪点降低)

采样体积时,直接(AA)光线在通过它时多次对体积进行采样。间接光线(体积间接)以类似的方式运行,通过体积对象发送多次光线“步骤”(体积步长)。因此,采样体积通常比采样表面需要更长的时间。

体积抽样。直接照明(绿色)。间接照明(蓝色)。

在光线传播的每个步骤中,它评估着色器并累积体积的密度。当这些密度值在整个体积中变得更不稳定时,附近的光线可以计算出实质上不同的值,从而将噪点引入渲染中。在这种情况下,可能需要使用更多的光量样本进行渲染或减小体积中的步长。即使采样值较低,使用体积渲染干净图像也会很昂贵。

轻量样品:1 /轻量样品:6

渲染卷时需要考虑三件事情; 射线行进,直射光和间接光采样,所有这些都具有不同的采样设置。

一步的大小

射线行进过程的step_size。这里采样率太低会导致体积渲染错过体积中的细节,使它们变得嘈杂,使它们比它们应该更薄,或者对“实体”的“表面”的确切位置做出错误的估计体积像火山碎屑云。一个糟糕的步长具有滚雪球效应,可以使采样过程的其余部分更嘈杂。通过查看alpha通道,或通过向音量添加一些发射并关闭所有照明,可以非常轻松地进行测试。如果发射/ alpha通道在所需的AA设置下有噪点,则step_size可能太大。

步长正确/步长太大时,工件出现在alpha中

步长实际上是在对象空间中而不是在世界空间中。这样,在缩放音量变换时,采样质量保持不变。但是,应避免使用非常大的步长,否则体积会变薄并消失。在下面的示例图像中,音量已放大到100个单位以夸大此效果(相对于该音量的大小,1/25/50)。

1 /25 /50

通常,在发生明显可察觉的伪像之前,步长需要尽可能大。低步长将增加渲染时间。例如,当步长为0.1且世界空间中的体积为10个单位时,大约有100个主要样本,因此卷着色器被称为100次。

直接照明

当步长正确时,噪点可以来自直接或间接照明。直接照明很容易被发现。间接光需要关闭,如果渲染是嘈杂的,每个光需要一次渲染一个,直到找到造成噪点的光,然后转向它们volume_samples。如果直接照明噪点没有随着volume_samples增加而显着降低,那么可能是由于太低step_size,或者简单难以采样光相互作用(高度各向异性的体积,纹理严重的网格光,二次衰减等)。在这种情况下,除了通过夹紧或过滤消除样品之外没有太多事情要做。

间接照明

间接噪点也很容易识别。GI_volume_depth需要禁用噪点音量,如果渲染不再有噪点,则问题是间接采样。如果质量需要提高,volume_indirect_samples需要增加的数量如果增加这不会降低噪点,那么噪点可能再次来自难以采样的光相互作用(多次散射,各向异性体积,嵌入体积中的灯等)并且如前所述,除了通过夹紧或过滤消除样品之外没有太多事情要做。

体积光线深度

增加体积光线深度可以使体积的外观产生显着差异。但是,请注意,增加体积光线深度将增加体积内多次散射反弹的次数(默认为0),因此渲染时间将显着增加。

0 /6

本文转自:建模教程网,转载此文目的在于传递更多信息,版权归原作者所有。