Bounding Volume
A volume, contained by a usually simple geometry, like a box. For any complex object or group of objects, a bounding volume can be constructed that contains all objects.
Purpose #
If you want to test the objects in the bounding volume against ray hits (for example when doing Raytracing ), you test the ray intersection with the bounding volume first. If no intersection occurrs, you can be sure that the ray would also not intersect with any of the objects inside the bounding volume. Thus bounding volumes are a strategy to reduce the amount of ray-object tests needed to determine which objects were hit by a ray.
Bounding Volume Hierarchy #
Even with BV, testing if a ray hits an object is in for
bounding volumes in the scene. By groupung the BV themselves into
bigger BVs, whole branches of the hierachy can be pruned at once, bringing
the complexity to
for a scene with
objects.
Ray checks using Bounding Volume Hierarchies #
- If ray misses top-level BV -> it’s a miss
- If it does hit the top-level BV, recusively check the children
- As soon as a child has actual geometry in it, ray check against it