Copyright(C) 2014, by David W. Jeske. Released under Apache 2.0 and to the public domain.
This is a 3d Bounding Volume Hiearchy implementation in C#. It is used for sorting objects that occupy volume and answer geometric queries about them, such as ray, box, and sphere intersection.
It includes an efficient algorithm for incrementally re-optimizing the BVH when contained objects move.
For more information about what a BVH is, and about how to use this code, see the CodeProject article:
ssBVH.cs | The root interface to the BVH |
ssBVH_Node.cs | The code for managing, traversing, and optimizing the BVH |
ssBVH_SSObject.cs | A example SSBVHNodeAdaptor intergration of the BVH with the SimpleScene 3d scene manager, and a SSBVHRender SimpleScene rendering object to render the BVH boundaries in OpenGL. |
ssBVH_Sphere.cs | An example SSBVHNodeAdaptor for placing spheres in the BVH. |