summaryrefslogtreecommitdiffstats
path: root/libdimension/prtree.c
Commit message (Expand)AuthorAgeFilesLines
* Use arrays for PR-tree construction instead of lists.Tavian Barnes2011-05-101-133/+115
* Plug memory leak caused by prtree caching.Tavian Barnes2011-05-101-15/+57
* Make dmnsn_new_prtree() more scalable.Tavian Barnes2011-05-091-372/+223
* Cache previous intersections in dmnsn_prtree_intersection().Tavian Barnes2011-04-201-2/+65
* Shrink the dmnsn_optimized_line type.Tavian Barnes2011-04-171-9/+9
* Don't use awkward (*fptr)() syntax.Tavian Barnes2011-04-031-12/+12
* Update email address.Tavian Barnes2011-03-081-1/+1
* Bump DMNSN_PRTREE_B to 8.Tavian Barnes2011-03-081-1/+1
* New DMNSN_HOT macro.Tavian Barnes2011-03-081-2/+2
* Fix license years.Tavian Barnes2011-02-171-1/+1
* Flatten the pre-order traversal of the PR-tree for better cache locality.Tavian Barnes2011-02-091-108/+127
* Fix constness for dmnsn_list_comparator_fn.Tavian Barnes2010-11-281-13/+25
* End sentences with periods.Tavian Barnes2010-11-151-1/+1
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-12/+33
* Factor out transformation code from object callbacks.Tavian Barnes2010-11-061-4/+4
* Slight ray-AABB intersection test optimization.Tavian Barnes2010-11-021-1/+1
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-3/+3
* Optimize PR-tree construction a bit.Tavian Barnes2010-08-011-7/+5
* Fix PR-tree implementation.Tavian Barnes2010-08-011-13/+14
* Fix some -W{strict,missing}-prototypes warnings.Tavian Barnes2010-07-311-1/+1
* Move test outside of loop in dmnsn_prtree_intersection_recursive().Tavian Barnes2010-07-201-7/+13
* Make DMNSN_PRTREE_B and internal types local to prtree.c.Tavian Barnes2010-07-181-1/+13
* Remove degeneracy test from ray-box intersections.Tavian Barnes2010-07-181-17/+25
* Add descriptive comment to new branchless ray-AABB intersection tests.Tavian Barnes2010-07-151-0/+9
* Remove some unneeded tests from ray-AABB intersection tests.Tavian Barnes2010-07-151-43/+28
* Clean up optimized ray-AABB intersection code a bit.Tavian Barnes2010-07-151-21/+29
* Precalculate 1.0/ray.n.{x,y,z} for ray-box intersection tests.Tavian Barnes2010-07-141-12/+17
* Rename dimension_impl.h to dimension-impl.h.Tavian Barnes2010-07-141-1/+1
* Save some degeneracy tests in ray-AABB intersection tests.Tavian Barnes2010-07-091-16/+14
* 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
* 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
* Store the bounding boxes of child PR-tree nodes in the parent.Tavian Barnes2010-05-201-56/+63
* 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
* 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