summaryrefslogtreecommitdiffstats
path: root/libdimension/prtree.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Make dmnsn_ray_box_intersection() return false for zero boxes.Tavian Barnes2010-07-031-3/+3
|
* New dmnsn_bounding_box_is_infinite() predicate.Tavian Barnes2010-06-061-1/+1
|
* Don't use an anonymous union in prtree.c.Tavian Barnes2010-06-061-25/+25
|
* New bounding box special constructors.Tavian Barnes2010-06-061-28/+14
|
* New dmnsn_prtree_inside() function, rename dmnsn_prtree_search().Tavian Barnes2010-06-061-6/+46
|
* Add children to dmnsn_objects, which enables splitting unions.Tavian Barnes2010-06-051-1/+25
| | | | Also, use PR-trees for unions internally.
* Precompute objects in dmnsn_raytrace_scene() rather than dmnsn_new_prtree().Tavian Barnes2010-05-301-11/+0
|
* Slight prtree search optimization.Tavian Barnes2010-05-291-5/+5
| | | | Exploit floating-point infinities to eliminate special t < 0.0 condition.
* Store the bounding boxes of child PR-tree nodes in the parent.Tavian Barnes2010-05-201-56/+63
| | | | This improves cache locality and is good for about a 10% performance boost.
* Write some more docs, and fix a couple things noticed while writing them.Tavian Barnes2010-05-101-2/+2
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-9/+4
|
* Handle degenerate cases in ray/box intersections.Tavian Barnes2010-05-081-1/+10
|
* Fix argument to malloc().Tavian Barnes2010-05-071-1/+1
|
* Don't store unbounded objects (planes, etc.) in the PR-tree.Tavian Barnes2010-05-071-21/+86
| | | | | Keep them in a dmnsn_array* instead. This makes the tree better and saves us some search time.
* Use C99 for loop initializers.Tavian Barnes2010-05-051-15/+11
|
* Optimize ray-AABB intersection tests a bit.Tavian Barnes2010-05-051-51/+29
|
* Make dmnsn_new_prtree() handle empty scenes.Tavian Barnes2010-05-051-0/+6
|
* Replace BVSTs with priority R-trees.Tavian Barnes2010-05-051-0/+574