I was just wondering if anyone know or used a Bounding interval hierarchy (BIH) for scene management. How does it compare to a KDTree or other such spacial partitioning systems? If so, can someone point me to some reading on this, preferably a posted implementation if there is one?
Thanks in advance.
(And Yes I did google this)
I've used both object-aligned and axis-aligned bounding volume hierarchies with good results in the past; they're fairly decent and certainly easier to implement than a kd-tree. The main reason I find them useful is to directly mirror a scenegraph in the bounding volume structure; this helps when doing debugging etc. because you can see directly which nodes get pruned.
Performance-wise it really depends on what your scene's layout is like. A good BVH can rival a kd-tree in the average case, but each one shines in special extreme cases. BVHs are usually useless with lots of tiny geometry, for example, whereas a kd-tree isn't all that great for working with highly sparse geometry.
Of course, that also depends on what you're doing with that geometry; for some cases (like scanline conversion in a typical 3D engine) it makes very little difference. For others (ray tracing) it can make a world of difference. So YMMV.
Well, I am not making a ray-tracer and all I'm looking into is a scene Management structure that is very fast in outdoor environments. I was going to use one for Geometry (BIH or ABT or KDTree) and one for terrain (OcTree). I looked into the BIH and KDTree entries on wikipedia but it lacked comparison details.