summaryrefslogtreecommitdiffstats
path: root/libdimension/kD_splay_tree.c
Commit message (Collapse)AuthorAgeFilesLines
* Use dmnsn_new_*() rather than dmnsn_*_construct().Tavian Barnes2009-11-191-7/+7
|
* Use finishes.Tavian Barnes2009-11-091-4/+7
|
* Calculate surface normals in intersection callbacks.Tavian Barnes2009-11-091-2/+10
|
* Store inverse object transformation in a separate field.Tavian Barnes2009-11-091-12/+13
|
* Fix dmnsn_kD_splay_node_swallow() typo.Tavian Barnes2009-10-301-4/+4
|
* Major dmnsn_kD_splay_search() optimization.Tavian Barnes2009-10-261-19/+21
| | | | | | | | At each level of recursion, we have to go down the right branch if it exists. But if we do this before we test the current node and the left branch, we can eliminate those tests in the likely case that we find a closer object in the geometrically larger right subtree. This gives about a 2X speed improvement according to `make bench'.
* Fix some memory leaks.Tavian Barnes2009-10-191-10/+16
| | | | | dmnsn_delete_pigment() was not using the free_fn, and kD splay trees were not being deleted after raytracing finished.
* Fix ray-box intersection test.Tavian Barnes2009-10-131-4/+4
|
* Remove unused variable from dmnsn_kD_splay_search_recursive().Tavian Barnes2009-10-091-1/+0
|
* kD splay tree fixes, and new dmnsn_kD_splay_tree type.Tavian Barnes2009-10-091-187/+156
|
* kD splay tree fixes.Tavian Barnes2009-10-091-4/+8
|
* Typo fixes in kD_splay_tree.c.Tavian Barnes2009-10-071-8/+8
|
* Test object's bounding boxes too in dmnsn_kD_splay_search().Tavian Barnes2009-10-071-13/+30
|
* Implement search for kD splay trees.Tavian Barnes2009-10-071-0/+173
|
* Call kD splay children `contains' and `container'.Tavian Barnes2009-10-071-35/+35
|
* Fix kD splay tree rotations.Tavian Barnes2009-10-061-21/+57
|
* Implement insert for kD splay trees.Tavian Barnes2009-10-051-0/+115
|
* Implement splay operation for kD splay trees.Tavian Barnes2009-10-051-1/+58
|
* Begin kD splay tree implementation.Tavian Barnes2009-10-051-0/+68