目录
3. Bounding Volume Hierarchy (BVH)
使用 AABB 加速光线追踪
1. 均匀网格
1.1 划分过程
- 对空间中的物体寻找一个包围盒
- 在做光线追踪之前,将包围盒划分成一个个小格子
- 寻找与物体表面相交的盒子,标记
- 在射线中逐步穿过网格,遍历顺序
看射线依次经过的格子是否为之前标记的盒子
- 如果是,判断射线是否与物体有交点
- 如果不是,继续遍历
如何判断光线经过哪些格子?
如果光线往右上方打,经过一个盒子1,那么下一次经过的盒子2在盒子1的右方或者上方,根据求交点的方式判断是上还是右
1.2 划分网格的效率
- 划分1*1格子(原来盒子)-----无加速
- 划分格子太密集----效率低
那怎么划分才会加速呢?
但是还是很费劲
这种方法最适合的场景就是空间中均匀布满了三角形面,如下图这种场景:
<