光子映射_RenderG渲染农场-国内最强云渲染平台

光子映射

2018-01-05| 发布者: admin| 查看: |

初始设置


对于我们所有的实验,我们将从光子贴图的以下设置开始(请注意,这些设置可能与默认值不同):

转换为辐射图  - 关闭

自动搜索距离  - 关闭

最大光子  - 

凸面船体面积估计  - 关闭

存储直射光  - 

追溯阈值  - 

我们实际使用的唯一参数是: 

最大密度   - 这定义了光子贴图的分辨率(空间细节)。来自光子图的照明信息被累积在场景对象表面上的多个点上。此参数定义这些点之间的距离(以世界单位表示)。较小的值意味着这些点将会彼此更接近,并且将会有更多的点。较大的数值意味着光线样本彼此之间距离较远,而且样本数量较少。显然,这个参数取决于你的场景的规模。改变这个参数需要重新计算光子图,因为只有在计算光子图时才使用它。

搜索距离  - 这定义了如何从上述表面点重建照明。你可能会认为它是模糊的光子地图。它应该大于最大密度,但确切的值取决于你想要你的光子贴图解决方案的模糊程度。最大密度值的2-5倍的值工作良好。更改此参数不需要重新计算光子贴图,因为它仅在渲染过程中使用。

我们将保留默认值的其他参数,但您可以根据需要更改的参数是:

 弹跳 - 这控制了轻弹的数量; 你可以把它设置为你想要的值; 更多的反弹意味着更慢的光子图计算。我们将保持在10,但你可以调整它,只要你想。 

乘数  - 这是光子图的乘数; 我们会保持在1.0,但是如果你需要的话可以调整它。 

因此我们限制了我们将使用的光子贴图的参数 -  最大密度和  搜索距离这些足以控制光子图。除了这些设置之外,光子贴图的质量取决于从场景灯发出的光子的数量。更多的发射光子意味着更平滑,更准确的光子图。从“  光线设置”对话框中可以从V-Ray的“ 系统”卷  展栏访问  每个光线的光线数量

 

一个简单的例子 - Cornel盒子


我们将在一个简单的康奈尔盒式场景中演示这两个参数的效果。

你可以在 这里 下载开始的场景 (对于3ds Max 2010)。它包括一个非常简单的封闭空间设置不同颜色的墙壁和射灯。由于当前光子映射只适用于V-Ray材料,所以墙上应用了V-Ray材料。 

请注意,聚光灯反方形衰减和相当高的乘数。这是因为现实世界的灯光具有反方形衰减,并且光子映射默认情况下产生反方形衰减。 

如果你立即渲染文件,这就是你所得到的。

 

 

 

现在打开GI,并设置光子贴图方法,用于主要和次要的反弹。关闭 自动搜索距离,将最大光子设置   为0,将  阈值  恢复到0.0,并将  最大密度设置  为10.0:

 

 

 

如果你渲染,你应该得到这个结果:

 

 

 

现在让我们试着让光子给我们更多的细节。将最大密度更改为5并将搜索距离更改为10.如果再次渲染,则应该得到以下结果:

 

 

 

这样渲染速度相当快,对于场景中的照明来说,这是相当不错的近似。显然,这远远不是一个高质量的形象,但我们最终会到达那里。

现在进入“渲染”对话框,在“V-Ray  系统”卷  展栏中,单击“  光照设置”  按钮。在打开的对话框中,选择聚光灯并将其 漫反射细分  参数设置为500.这将控制光线发出的漫反射光子的数量(但不是直接的,实际的光子数量是这个数字的平方,在这种情况下 - 250,000)。关闭灯光设置对话框并再次渲染:

 

 

 

光子追踪阶段需要更长的时间,但是您可以注意到,虽然图像仍然有斑点,但是单个光照样本的噪声却减少了。我们可以通过增加搜索距离  参数来减少污点  将其设置为40并再次呈现:

 

 

 

 

现在盒子的边更光滑,但角落仍然有斑点,光子仍然可读。球体也变黑了。我们不能仅仅使用Photon地图来获得完美的结果,所以让我们在高预设(默认值)中将主要GI引擎设置为Irradiance地图。辐照度图将使用建立的光子贴图作为基础,因此最终的图像将会更平滑的GI。由于我们正在进行最终的渲染,因此将图像采样器切换到“自适应”以平滑边缘(默认设置将执行工作)并进行渲染。

 

 

 

 

康奈尔盒子场景对于全局照明算法是一个非常简单的场景,因为遮挡很少(对象投射阴影和停止光线)。接下来我们将看一个更困难的例子:Sponza Atrium场景。

 

一个更困难的例子:斯潘扎中庭


现在我们将展示如何在更复杂的场景,即由Marko Dabrovic( http://www.rna.hr  模拟的Sponza中庭上使用光子映射你可以在这里下载最初的场景如果您立刻渲染,场景将如下所示:

 

 

 

请注意光子映射不适用于天光。这是因为光子需要一个真实的表面来发射。因此,光子映射不适用于户外场景。然而,在天窗从窗户等小开口进入的场景中,可以通过在这些开口处放置V形光线来“邀请”光线。在Sponza的情况下,我们在建筑顶部放置了V形射线,这是天窗唯一的地方。 

现在打开全局照明,并选择光子贴图作为第一和第二漫射引擎方法。接下来转到“  全局光子贴图”卷  展栏并关闭“ 自动搜索距离” 将“ 追踪阈值”设置为0.0,并将“ 最大光子”设置为0:

接下来,我们必须确定一个很好的最大密度值  由此我们将为搜索距离选择一个值  

良好的  最大密度  值取决于场景比例和所需的光子贴图细节。在场景中有一个磁带助手,测量两列之间的距离。它的长度几乎是6个单位。所以,一个好的价值可能就是这个距离的十分之一。所设定的  最大密度 参数  0.6  和  搜索距离 的两倍值,  1.2  和渲染。你应该得到一个类似的结果:

 

 

 

 

光子产生太大的分裂,所以我们显然需要较低的最大密度和搜索距离值。经过一番试验,我们发现0.05的最大密度和0.1的搜索距离产生以下结果:

 

 

 

 

很明显,但细节(斑点的大小)似乎是足够好的。我们得到黑暗的地方和亮点,因为我们没有足够的光线发出的光子。要解决该问题,请转到“  系统”卷  展栏并单击“  光照设置”按钮。选择场景中的两个灯光,并将漫反射细分设置为500(即每个灯光500 x 500 = 250,000个光子)。关闭  灯光设置  对话框并进行渲染。光子追踪现在需要更长的时间,但结果是更好的:

 

 

 

 

不过,我们需要更多的光子来制作一个好的光子贴图,因此将 太阳(目标直射光)漫射细分设置  为2000(意味着400万个光子), 并将V-Ray光的  漫射细分设置为2500指的是6,250,000个光子)。关闭  灯光设置  对话框并进行渲染。光子追踪阶段现在需要相当多的时间(几分钟),但结果是好得多:

 

 

 

为了节省后续渲染的时间,可以将 光子 贴图保存到磁盘:转到“全局光子贴图”卷展栏,然后单击“保存到文件”按钮。为光子贴图选择任何名称并保存。然后,将光子贴图模式设置为来自文件,并使用浏览按钮选择您刚刚保存的地图。现在我们可以使用搜索距离参数来稍微模糊光子贴图。将搜索距离设置为0.4并渲染:

 

 

 

光子贴图更平滑,但可以清楚地看到黑边的效果。因此,我们将不使用单独的光子贴图来使用GI,而是使用辐射贴图来平滑GI。将搜索距离值返回到0.1,并将第一个GI引擎设置为辐照度图。打开 显示 计算器。选择高辐照度贴图预设,将图像采样器更改为自适应,然后进行渲染:

 

 

 

 

请注意,光子贴图是视图无关的。我们可以在不重新计算光子贴图的情况下绘制不同的视图(但是仍然需要计算辐照贴图):

 

 

 

在这最后一张图片中,您可以在两个表面相交的角落看到一些工件(斑点)。发生这种情况是因为这些区域的光子图太嘈杂,这也反映在辐照图上。这就是从这个角度来看光子地图的样子:

 

 

 

噪音是因为光线更难进入场景的遮挡区域。减少光子图中噪声的一种方法是拍摄更多的光子。这里是光子地图,其中6000个太阳小组(6000万光子)和5000个小地方光子(2500万光子):

 

 

 

这里是相同的图像,但辐射图作为主要的GI引擎:

 

 

 

当然,拍摄更多的光子意味着(更多)更长的光子追踪阶段。减少伪像的另一种方法是增加搜索距离值,这会使光子图更模糊; 但是这也会使黑暗的边缘效果更加明显。该图像的搜索距离为0.2; 使用原始的低分辨率光子图:

 

 

 

由于我们保存了较大的地图,我们以0.4的搜索距离来尝试一下:

 

 


 
QQ
QQ在线咨询
售前咨询热线
18500906663
售后服务热线
13301271521
返回顶部