间接光会产生一个照明,这些照明时从场景中其它物体上反射而形成的。
该节点会向场景中添加间接光,不会使用光线跟踪。此灯光可用于所有渲染器。当使用PBR时,间接光会自动覆盖间接照明的计算,且焦散会使用间接光生成的光子贴图。当使用非PBR渲染引擎时,间接光会被添加到间接的漫反射照明中。
在先前的Houdini版本中(9-10),光子贴图会通过使用一个二级的Mantra ROP来生成,其参数控制着光子贴图的生成。此工作流程在Houdini11中不在使用。现在,你可以使用间接光来管理光子贴图的渲染。
Houdini11之后,全局光子贴图会存储大致的光泽反弹(如模糊反射)。你不需要修改间接光或Mantra ROP参数来利用光子贴图(用于光泽反弹控制)。
Workflow for Diffuse Photon Map Rendering
漫反射光子贴图的工作流程
使用GI Light工具架工具创建间接光,或使用Tab菜单创建一个间接光。
在渲染视图中,执行一个初始渲染。图像渲染完成前,光子贴图的生成进程会在IPR视图顶部显示。
在间接光物体上,改变灯光的类型为 Direct Global Photon Map。可以在交互式渲染时,使用此设置来核实光子贴图是否正确生成,并且是否可合理的用于场景中的漫反射照明。
如果渲染中有大量一致的照明块,增加光子数量,直到到达可接受的质量级别。
在“ Direct Global Photon Map ”和“Indirect Global Photon Map ”之间切换来查看直接渲染光子贴图和将它们用于间接照明的差异。即使场景中存在光子,用于每个渲染器的总的光子级别应该大体一致。
如果你注意到一些艺术化的效果(在角落处),增加预过滤采样值,或试着增加光子距离阈值。增加采样数可能需要你返回增加光子数量,来锐化最终的光子贴图。
Mantra ROP Parameters affecting photon maps
影响光子贴图的Mantra ROP中的参数
在使用PBR渲染时,光子贴图的生成取决于同样所使用的的着色参数。下面的ROP参数会影响光子贴图的生成。
在 Mantra ROP的着色选项卡中的限制参数。例如,要查看光子贴图中漫反射的反弹,可以增加Diffuse Limit 参数,或增加 Refract Limit 参数来查看折射的焦散。
Mantra ROP的PBR选项卡中的Allowable Path参数。默认,PBR会排除间接光。要在光子贴图和渲染路径中启用焦散贴图,改变 Allowable Paths 为All Paths。
Parameters
Light Type | 控制间接光的类型和所使用的算法。
|
||||||||
Light Color | 设置光线的颜色,此颜色会影响间接光的照明,但不会影响光子贴图的生成。 | ||||||||
Light Intensity | 允许间接光的照明(强度)在渲染时被任意的缩放。此参数不会影响光子贴图的生成。 | ||||||||
Light Enabled | 关闭此项等同于设置灯光强度为0. | ||||||||
Enable Light In Viewport | 关闭此项会从视窗中移除灯光,此可以用于在渲染时,使灯光有效。 |
Photon Map Options
用于控制光子贴图生成和渲染的选项。
Auto-generate Photon Map | 自动生成光子贴图,光子贴图的生成会在主渲染开始前完成。
使用IPR视图可以查看光子贴图生成的进度。当给光子贴图使用IPR时,如果你需要重新生成光子贴图,可以点击Render按钮 |
Photon Count | 在光子贴图文件中大致可存储的光子数量。 |
Light Mask | 指定哪些灯光用于从间接照明中生成光子贴图。默认所有灯光都会参与光子贴图的计算。
可以将不同光源的间接照明区分开来,即创建几个间接光物体,使用没有关联的灯光遮罩,然后使用每灯光导出方式,给每个间接光的照明创建一个deep raster plane (深度栅格平面)。 因为间接光物体不会给其自身产生照明,所以在生成光子贴图时,所以的间接光物体都会被忽略。 |
Photon Target | 指定哪些物体会成为光子贴图存储的目标。当你知道所以光子一定会撞击或透过一个指定的物体时,此参数可以用于优化光子贴图的渲染 。
如果渲染时没有出现任何光子,并且会产生错误信息(表示光子贴图生成失败),你需要调节 photon target 参数来将光子的生成聚集到场景中特定的物体上。当从小的玻璃物体(该玻璃在一个大的物体前方,大的物体会作为其环境)上生成焦散时,常常会发生错误。 |
Photon File | 要磁盘上生成的光子贴图文件。当渲染一个动画时,你可以修改此数值为其所包含的帧数量。 |
Photon Filter | 要使用的光子过滤。默认是 Convex Hull 过滤方式,可以增强场景角落处的光子贴图质量。你可以通过切换到Sphere方式来稍微的提高渲染时间,但可能会减低精度。 |
Filter Samples | 当从一个光子贴图中读取时,此是要过滤的光子数量。当渲染一个预过滤的光子贴图时,你应当使用小的数值(1到10)。当渲染一个没有预过滤的光子贴图时,你应当使用一个大的数值( 50-500)。 |
Photon Map Stores Direct Lighting | 在光子贴图中存储直接光照。当禁用时,光子贴图会只存储间接光照。 当渲染一个焦散贴图时,此参数会被忽略。 |
Prefilter Photon Map | 在光子贴图生成后,渲染前,预过滤光子贴图,这样会有较少的光子采样点会用于渲染。预过滤可能会花费和生成光子贴图差不多的时间。 |
Prefilter Samples | 在预过滤时要过滤的光子数量。此通常是一个非常大的数值( 50-500)。 |
Prefilter Ratio | 存储在预过滤光子贴图中的光子和原始光子贴图中的光子比例(就是按比例过滤光子)。对于大的光子贴图,预过滤会划分的几分钟。 |
Enable Point Cloud | 给直接光照使用光子贴图,使它看起来像一个开启了“点云生成”的几何体面积光。此设置可以帮助减少渲染中的噪波。
记住,在开启该设置后,需要重新生成光子贴图,因为贴图中的光子会基于此设置而改变。其只支持预过滤的光子贴图。 该设置要求非常苛刻,它有如下的限制: 其需要是一个预过滤的光子贴图。 在体积对象上不会正常的工作。 其它间接照明会被完全禁用。 光子的距离阈值会失效。 |
Point Samples | 查看照明物体的文档。 |
MIS Bias | 查看照明物体的文档。 |
Indirect Diffuse Options
当使用 Irradiance Only(只自发光)或Indirect Global Photon Map(间接照明的全局光子贴图) 模式,且使用非PBR的渲染引擎时,才会运用这些采样选项。当使用PBR渲染时,你应当使用ROP上的控制来调节间接漫反射照明的采样质量(如像素采样,最小光线采样)。
Sampling Quality | 用于自发光的,所发射出的光线数量。会被PBR方式忽略(在PBR中可使用光线采样,像素采样来调节质量)。 |
Max Ray Distance | 设置距采样点的最大距离值,该距离内的对象会用于自发光。此会被PBR忽略。 |
Sampling Angle | 设置用于自发光的采样角度,此是所发射的光线角度值的一半。 此会被PBR忽略。 |
Photon Distance Threshold | 此参数是一个质量/性能的控制,可以在渲染全局光子贴图时使用。当在光子贴图中,有很少的光子时,光子之间的距离可能会非常大,此参数是定义:当间接光线传输的距离小于贴图中光子之间的距离时,会通过跟踪路径直接计算照明,而非使用光子贴图。
大的数值会更偏爱使用路径跟踪方式,小的值会更多使用光子贴图。值为0表示总是使用光子贴图,通常合理的值是0到4(一般为2)。 如果光子贴图包含非常光滑的照明(例如,使用了过多的过滤采样),你可以将该参数减为0来增强性能。如果几乎没有过滤光子贴图,你可以增加该参数为1来增强性能。 要可视化有多少光子贴图对图像做出贡献(相对于路径跟踪): 1、设置你的渲染引擎为 Physically Based Rendering(PBR)。 2、添加一个 indirect_diffuse 深度栅格面,并启用Export variable for each light(从每个灯光上导出参数)。 3、查看用于间接照明的深度栅格面,以及其它灯光。你可以看到几何体的拐角,间接照明会比其它灯光有更多的贡献。当年减少光子距离阈值为0时,用于灯光(而非间接照明)的indirect_diffuse 会降为0. |
Adaptive Sampling | 自适应采样方式,会在闭塞区域变换小的地方减少采样数量。此可以增强性能,但可能会产生闪烁,或噪点。只有当采样数量高于64时,自适应采样模式才会生效。PBR会忽略该项(PBR是使用一个抗锯齿)。 |