top of page
多边形编辑器

项目总览
建立BVH
对于每个多边形,我在生成它时计算它的边界 AABB ,并递归地构建 AABB 的BVH以加速射线投射交点。为了管理多边形,我只让BVH的叶节点拥有场景中多边形的索引值。

为多边形构建 BVH
递归构建 BVH 的代码
在我的场景中,使用 BVH至少比不使用 BVH 快 3 倍。如果修改随机光线的散步范围,性能提升会更大。130k条光线与 8 个多边形相比仅需13 毫秒。

通过BVH 加速求交过程
射线与多边形求交
红点表示向内点,绿点表示向外点。只有当最后一个红点和第一个绿点的中点位于多边形时,射线才会击中多边形。

射线与多边形求交以及Debug Draw
射线与多边形求交的代码
截图




1/4
bottom of page