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

KD-tree

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

Bounding volume hierarchy(BVH)不划分空间而是划分物体。

bvh的建立

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

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

bvh的遍历

 

 

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

 

posted @ 2023-06-15 11:14  ahab1016  阅读(75)  评论(0)    收藏  举报