D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

唐建文            来源:优草派

什么是焦散?

你听说过焦散这个词吗?你能准确地定义焦散吗?

不是所有人都知道焦散的确切定义,但是我敢肯定,所有人都在生活中见过焦散现象。

如下图:

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

灯光照射在玻璃器皿上

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

游泳池底波动的花纹

从定义上来说,焦散指的是光从光源—>镜面反射/折射的表面(经过一次或多次反射/折射)—>漫反射表面—>摄影机或眼睛的光照贡献。

画成光路分析图是这样:

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

如上图,光线在玻璃兔子上发生了 2 次折射后,打到漫反射的桌面,最后进入摄影机。

产生焦散的条件

根据焦散的定义,我们可以总结出产生焦散现象的三个要素:

1.发出光线(确切说是焦散光子)的光源;

2.对光线有反射/折射特性的表面(如玻璃,金属等);

3.承接焦散的漫反射表面。

这里需要注意:在现实生活中,只要是光,就可以带来焦散。但是在渲染器中,光源是通过发射“焦散光子”来模拟焦散现象的。

用户对焦散的“刻板印象”

长期以来,广大渲染器用户对于焦散渲染有两点刻板印象:

1.焦散原理抽象,需要学习焦散参数的设置方法;

2.焦散是一种“高级”特效,渲染比较慢。

这两个问题确实存在,焦散从原理上涉及到光源和材质的相互配合,要正确产生焦散,用户往往需要准确配置灯光的参数、材质的透光算法,以及合适的采样参数。这里面无论哪个环节出了问题,焦散都不会产生好的效果。另外,焦散收敛成无噪点的结果确实需要一定时间,所有渲染器都在努力优化这方面的性能。

D5 的焦散解决方案

解决痛点

D5 渲染器在 2.5 版引入了焦散渲染功能。针对焦散常见的两个痛点,D5 实现了以下两大亮点:

1.参数简化:焦散参数被简化成灯光和材质面板中的开关,只需两次点击,便可以产生焦散效果,无需反复调整参数,一切都已预设好。目前,四种基础光源:点光源、聚光灯、灯带、区域光支持发射焦散。“自定义”材质支持反射焦散光子,“水”和“透明”材质同时支持反射和折射焦散。

2.实时渲染:D5 渲染器的焦散功能已经可以做到实时渲染,灯光与材质的交互反馈非常直观、迅速。

注意:实时渲染时为了追求性能,焦散的精度有一定压缩。出图、出视频时,焦散精度会进一步提高,但对内存的要求也会更高。

技术背景

通俗地讲, D5 渲染器是这样计算焦散的:

1.通过光源发射光子,让光子经过多次反射和折射,记录下它们在空间中的位置和颜色;

2.根据光子的位置和颜色信息,进行散射计算,算出屏幕空间的焦散效果;

3.接着,对焦散效果进行时间和空间上的降噪,最后把它们叠加到画面上。

实际案例

以此场景为例:

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

此场景中的水纹灯,是一个表面凹凸不平的玻璃管模型。

(注:模型的凹凸也可以使用法线纹理的噪波代替,都可以影响焦散效果)

为了让玻璃管旋转,可以在视频界面定义玻璃管对象的旋转关键帧,也可以使用建模具制作玻璃管的旋转动画,并以 abc 格式导入 D5 渲染器。

与现实生活中的水纹灯一样,我们把光源放置在旋转的玻璃管下方,并开启光源的焦散开关。

同时,使用材质吸管工具,设置水纹灯模型的材质为“透明”模板,也开启焦散开关,实时焦散效果立刻就会出现了。

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

可以调整灯光焦散的强度和柔化参数,得到想要的效果:

D5 实时焦散,一篇讲透焦散原理介绍与渲染应用

在D5渲染器2.5 更新中,除了实时焦散,还有SU 实时同步、 D5 SR 图片加速渲染、切剖功能等30+功能同步上线,获取详细信息可搜索“D5渲染器”,了解详情。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行