C++ 沿x-y-z轴划分基元意味着什么?
在光线跟踪中,在构造BVH时,我们使用基本体边界的质心将对象集划分为子集。有一个快速表面积启发式SAH,告诉我们 “拆分原语的多个可能分区中,哪一个将导致最佳加速结构?”C++ 沿x-y-z轴划分基元意味着什么?,c++,nvidia,partitioning,raytracing,bounding-box,C++,Nvidia,Partitioning,Raytracing,Bounding Box,在光线跟踪中,在构造BVH时,我们使用基本体边界的质心将对象集划分为子集。有一个快速表面积启发式SAH,告诉我们 “拆分原语的多个可能分区中,哪一个将导致最佳加速结构?” 它进一步说,可以沿X、Y、Z轴进行分割,那么沿X、Y、Z轴分割原语是什么意思?还有什么是沿坐标轴对原语进行排序?它主要讨论使用轴对齐的平面。一个这样的平面可能是Z=2,平面上的每个点都有Z=2。然后空间被这个平面分割。所有带Z2的点都位于平面的另一侧。X轴和Y轴也是一样的。你可以考虑欧几里得空间被3轴对齐的平面分割,它们在0,
它进一步说,可以沿X、Y、Z轴进行分割,那么沿X、Y、Z轴分割原语是什么意思?还有什么是沿坐标轴对原语进行排序?它主要讨论使用轴对齐的平面。一个这样的平面可能是Z=2,平面上的每个点都有Z=2。然后空间被这个平面分割。所有带Z2的点都位于平面的另一侧。X轴和Y轴也是一样的。你可以考虑欧几里得空间被3轴对齐的平面分割,它们在0,0,0相交,它们将它切割成8个不同的区域。所以我们是在x y z平面上划分基元吗?它有什么好处?很简单-它让你立即丢弃不符合特定标准的物品/对象/点-在这种情况下,一个位置。想象一下使用z=0分区平面。如果要从原点查看场景,沿任意方向向下看z轴,可以立即丢弃位于平面特定一侧的所有对象。因此,通过扩展,如果您划分容纳对象的空间-那么您只需要在检查相交光线时测试其中的一些光线-只有在适当的空间分区中的光线。其他的可以立即丢弃谢谢你的解释