欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

揭秘虚幻引擎技术大师的逼真渲染能力:深入解析全局光照系统Lumen(2)

最编程 2024-08-14 11:51:17
...

一方面,它被证实可以为整个合并场景生成卡,而不必为每个网格去生成卡。另一方面,事实证明它在实践中相当挑剔,因为每次相机移动时都会产生不同的结果。

另一个想法就是把每个网格的卡作为一个网格导入步骤。通过构建几何学的 BVH 来做到这一点,其中每个节点将被转换为 N 张卡。

如下:

网络异常,图片无法展示
|
栅格化的三角形

网络异常,图片无法展示
|
光线步进卡(高场)

网络异常,图片无法展示
|
卡位置视图

这一方法在在寻找一个好的位置时遇到了问题,因为BVH节点并不是放置卡的好代理。

那么,研究人员又提出了另一个想法:遵循紫外线展开技术,并尝试聚类表面元素。

因为要处理数百万个由Nanite提供的多边形,因此他们将三角形换成面元。

同时,他们还切换到了一个较少的约束*导向卡,以尝试与表面匹配更好。

网络异常,图片无法展示
|
*导向的卡位置

通过尝试,这个方法对于简单的形状非常有效,但是在在收敛到更复杂的形状上就出现了问题。

最后,Narkowicz又切换回轴对齐的卡片,但是这次是由面元集群和每个网格生成的。

锥形追踪


追踪高度场的独特性质还可以实现锥形追踪。


锥形追踪对于降低噪声非常有效,因为一个预先过滤的单个锥体跟踪代表了数千条单独的射线。

网络异常,图片无法展示
|
光线追踪

网络异常,图片无法展示
|
锥形追踪

对于每个卡,开发者还存储了一个完整的预过滤 mip-map链表面高度、照明和材料属性。

在追踪时,根据圆锥足迹选择合适的步进光线,并对其进行射线追踪。

网络异常,图片无法展示
|
无卡边和带卡边的跟踪

合并场景表示


在软件中追踪大量的非相干射线是非常慢的。理想情况下,可以使用单一的全局结构,而非多个高度场。


当锥形足迹越来越大时,实际上并不需要精确的场景表示,可以用更近似的表示替代,以获得更快的速度。

网络异常,图片无法展示
|

一个更复杂的场景,有几十张卡片来追踪每个光线

网络异常,图片无法展示
|