Started implementing bvh-tree
Implement partial_cmp for vec3 and bbox, making it possible to sort Shapes based on the position of the bbox in the scene
Implement Add for bbox
Implemented method for building tree. Needs testing and cleanup. When tested, replace Options with a new Node-enum to avoid matching and unwrapping unnessesarily many options
Added Node-enum and replaced child-node Options with enum
Added Leaf to Node-enum and removed Option for bbox
Created boilerplate of tree intersect-method
Implemented rest of the the intersects-function
Let bvh return NodeIntersection enum
Scene implements two different functions to see if a ray intersects the shapes in the scene. One linear and one optimized.
Bug: There is still a problem with lifetimes, so it is not possible to build the search tree and then see if a ray intersects the scene. This has yet to be fixed
Merge branch 'master' into bvh-tree
Update branch to new version of Rust and to use Primitve instead of Boxed shape
Change Bvh Tree to clone every primitive instead of referencing them.
Differ between whether the scene is optimized with BvhTree or not.
Use a Boxed IntersectableScene in the tracer, allowing for different Scene implementations
Test implementation of BVH tree and add flag to set optimization in terminal
Add benchmark of tree intersection
Add optimization profile for developement and fix bug with intersection of Poly bbox
Update to new version of rust