3

我正在尝试实现一个实时光线追踪器,并且我正在阅读这篇关于快速、无堆栈 kd-tree 遍历方法的有趣论文,但对于某些概念尚不清楚。在第 4 页,它介绍了绳索构造算法,它没有解释“拆分平面”和“拆分轴”到底是什么,以及“拆分轴”如何平行于左侧但不右侧。

是否有任何在编写光线追踪器方面有更多经验和/或了解论文中发现的两个概念的人向我解释一下?

提前致谢。

论文 [PDF]:http ://www.johannes-guenther.net/StacklessGPURT/StacklessGPURT.pdf

4

1 回答 1

1

我不认为作者的意思是暗示分裂轴仅平行于右侧或左侧。他们正在优化每一侧的绳索。为了做到这一点,他们需要知道分割平面是否平行于那一侧。所以他们测试split-axis(R) || S。这里,R 是当前节点的绳索。R_L 和 R_R 是该节点左右子树的绳索。该测试试图查看当前节点是否在优化绳索的一侧分裂。

例如:如果我们试图优化左右绳索,我们首先检查当前节点是否有一个分裂平面将世界分裂成左右两侧(换句话说,分裂平面平行于YZ飞机)。如果不是,那么我们放弃优化左右绳索。

于 2014-07-31T08:16:48.210 回答