一方面,它被证实可以为整个合并场景生成卡,而不必为每个网格去生成卡。另一方面,事实证明它在实践中相当挑剔,因为每次相机移动时都会产生不同的结果。
另一个想法就是把每个网格的卡作为一个网格导入步骤。通过构建几何学的 BVH 来做到这一点,其中每个节点将被转换为 N 张卡。
如下:
栅格化的三角形
光线步进卡(高场)
卡位置视图
这一方法在在寻找一个好的位置时遇到了问题,因为BVH节点并不是放置卡的好代理。
那么,研究人员又提出了另一个想法:遵循紫外线展开技术,并尝试聚类表面元素。
因为要处理数百万个由Nanite提供的多边形,因此他们将三角形换成面元。
同时,他们还切换到了一个较少的约束自由导向卡,以尝试与表面匹配更好。
自由导向的卡位置
通过尝试,这个方法对于简单的形状非常有效,但是在在收敛到更复杂的形状上就出现了问题。
最后,Narkowicz又切换回轴对齐的卡片,但是这次是由面元集群和每个网格生成的。
锥形追踪
追踪高度场的独特性质还可以实现锥形追踪。
锥形追踪对于降低噪声非常有效,因为一个预先过滤的单个锥体跟踪代表了数千条单独的射线。
光线追踪
锥形追踪
对于每个卡,开发者还存储了一个完整的预过滤 mip-map链表面高度、照明和材料属性。
在追踪时,根据圆锥足迹选择合适的步进光线,并对其进行射线追踪。
无卡边和带卡边的跟踪
合并场景表示
在软件中追踪大量的非相干射线是非常慢的。理想情况下,可以使用单一的全局结构,而非多个高度场。
当锥形足迹越来越大时,实际上并不需要精确的场景表示,可以用更近似的表示替代,以获得更快的速度。
一个更复杂的场景,有几十张卡片来追踪每个光线