summaryrefslogtreecommitdiffstats
path: root/libdimension
Commit message (Collapse)AuthorAgeFilesLines
* Write some more docs, and fix a couple things noticed while writing them.Tavian Barnes2010-05-104-7/+7
|
* New dmnsn_new_thread() function.Tavian Barnes2010-05-096-174/+228
| | | | | | | Two advantages: first, waiters are guaranteed to wake if a dmnsn_error() cancels a thread. Second, the thread library is fully abstracted over by threads.{c,h} and progress.{c,h} now, though raytrace.c is still using pthread_create() directly.
* Clean up some unused variables.Tavian Barnes2010-05-092-4/+1
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-087-53/+48
|
* Handle degenerate cases in ray/box intersections.Tavian Barnes2010-05-082-1/+19
|
* Fix argument to malloc().Tavian Barnes2010-05-071-1/+1
|
* Don't store unbounded objects (planes, etc.) in the PR-tree.Tavian Barnes2010-05-072-24/+94
| | | | | Keep them in a dmnsn_array* instead. This makes the tree better and saves us some search time.
* New dmnsn_array_from_list() function.Tavian Barnes2010-05-072-7/+24
|
* Use C99 for loop initializers.Tavian Barnes2010-05-0512-99/+78
|
* 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-056-446/+606
|
* Optimize cube intersection function a bit.Tavian Barnes2010-05-041-59/+82
|
* Add dmnsn_{min,max}() inlines.Tavian Barnes2010-05-041-0/+14
|
* Remove debugging code from dmnsn_list_sort().Tavian Barnes2010-05-031-8/+2
|
* Fix list sorting.Tavian Barnes2010-05-012-9/+25
|
* Implement list sorting.Tavian Barnes2010-04-302-18/+109
|
* Use dmnsn_assert() for array and list range checks.Tavian Barnes2010-04-304-38/+19
|
* Add a generic list type.Tavian Barnes2010-04-305-2/+244
|
* Fix some includes.Tavian Barnes2010-04-2719-2/+19
|
* Fix some spurious includes.Tavian Barnes2010-04-272-4/+3
|
* Rename dmnsn_matrix_*_mul() to dmnsn_transform_*().Tavian Barnes2010-04-1710-38/+38
|
* Don't render transparent shadows with transparency off.Tavian Barnes2010-04-171-1/+2
|
* Fix canvas_pigments with negative coordinates.Tavian Barnes2010-04-151-7/+4
|
* Add plane object.Tavian Barnes2010-04-153-0/+87
|
* Support infinitely large bounding boxes.Tavian Barnes2010-04-152-10/+17
|
* Add transformations to textures and pigments.Tavian Barnes2010-04-159-131/+149
| | | | | Also, object intersection callbacks are now responsible for handling their own transformations.
* New canvas pigment (image map).Tavian Barnes2010-04-133-0/+61
|
* Remove a bunch of errno.h includes.Tavian Barnes2010-04-1319-19/+0
|
* Fix low-quality renders.Tavian Barnes2010-04-111-0/+2
|
* 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-078-234/+224
| | | | 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-0730-696/+411
| | | | | | 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-064-0/+179
|
* New dmnsn_bounding_box type.Tavian Barnes2010-04-067-104/+129
|
* New dmnsn_vector_min() and _max() functions.Tavian Barnes2010-04-062-7/+22
|
* Make inside_fn's return bool.Tavian Barnes2010-04-053-8/+10
|
* Set errno on failures.Tavian Barnes2010-04-0122-39/+117
|
* Add --disable-png configure option.Tavian Barnes2010-04-012-2/+61
|
* Add --disable-gl configure option.Tavian Barnes2010-04-012-2/+50
|
* New dmnsn_clear_canvas() function.Tavian Barnes2010-03-242-0/+14
| | | | Makes valgrind happier about the GL test.
* Make float equality comparisons more relaxed.Tavian Barnes2010-03-192-14/+17
|
* Fix some warnings reported by clang static analysis.Tavian Barnes2010-03-181-1/+0
|
* Rename dmnsn_bvst_copy() to dmnsn_copy_bvst().Tavian Barnes2010-03-163-3/+3
|
* Handle nested refractive objects correctly.Tavian Barnes2010-03-021-11/+24
|