Ray-tracing 关于物体的包围盒划分方法
KD-tree

一个物体有可能出现在不同的AABB当中,而在KD tree当中 。这样的话就要在不同的AABB当中都存这些物体,人们希望每个物体只存在于一个格子里。而且kd-tree的建立也比较繁琐。
Bounding volume hierarchy(BVH)不划分空间而是划分物体。
bvh的建立

划分物体再分别求他们的包围盒,这样就避免了一个同样的物体出现在不同的格子里。但问题在于对空间的划分不够严格,包围盒有可能相交。这样做实际问题也不大。

做划分的小技巧-沿着长轴做划分 。以及选定一条轴以后,沿着这条轴选择第中位数个三角形做划分。沿轴的排序通过重心来排序,但并不需要真做排序只需要使用快速选择的思想求出第N大的点就够了(快排的思想)。划分到一个AABB当中有5个点就差不多了。
bvh的遍历

KD-tree 与BVH的差比-空间划分vs物体划分


浙公网安备 33010602011771号