summaryrefslogtreecommitdiffstats
path: root/libdimension/csg.c
Commit message (Collapse)AuthorAgeFilesLines
* Bulk-load CSG unions.Tavian Barnes2010-06-141-3/+6
| | | | The old way made O(n) PR-trees for no particular reason.
* New bounding box special constructors.Tavian Barnes2010-06-061-1/+1
|
* New dmnsn_prtree_inside() function, rename dmnsn_prtree_search().Tavian Barnes2010-06-061-6/+3
|
* Add children to dmnsn_objects, which enables splitting unions.Tavian Barnes2010-06-051-60/+34
| | | | Also, use PR-trees for unions internally.
* Rename `precompute' to `init'.Tavian Barnes2010-06-041-16/+16
|
* Use precompute callback for CSG objects.Tavian Barnes2010-06-041-76/+123
|
* Fix some includes.Tavian Barnes2010-04-271-0/+1
|
* Rename dmnsn_matrix_*_mul() to dmnsn_transform_*().Tavian Barnes2010-04-171-6/+6
|
* Add transformations to textures and pigments.Tavian Barnes2010-04-151-80/+51
| | | | | Also, object intersection callbacks are now responsible for handling their own transformations.
* Remove a bunch of errno.h includes.Tavian Barnes2010-04-131-1/+0
|
* Get rid of some duplication in csg.c, and fix missed add of dmnsn_epsilon.Tavian Barnes2010-04-111-163/+23
|
* Don't use dynamic memory for dmnsn_intersection's.Tavian Barnes2010-04-071-156/+166
| | | | Drops us from ~400,000 allocs to ~1000. Oops ><.
* Calculate CSG bounding boxes more accurately.Tavian Barnes2010-04-071-9/+3
|
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-164/+84
| | | | | | I'm tired of checking for malloc failures everywhere, considering it never happens. So just bail out whenever it does. A lot of stuff is guaranteed to succeed if it returns now.
* Implement CSG differences in libdimension.Tavian Barnes2010-04-061-1/+139
|
* Re-cast rays properly in intersections and merges.Tavian Barnes2010-04-061-9/+38
|
* Add CSG merges to libdimension.Tavian Barnes2010-04-061-0/+125
|
* Add CSG intersections to libdimension.Tavian Barnes2010-04-061-0/+125
|
* Add CSG unions to libdimension.Tavian Barnes2010-04-061-0/+143