summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension
Commit message (Collapse)AuthorAgeFilesLines
* Support closed cylinders.Tavian Barnes2010-08-141-1/+3
|
* Add cylinders to libdimension.Tavian Barnes2010-08-141-0/+3
|
* Optimize PR-tree construction a bit.Tavian Barnes2010-08-011-0/+8
|
* Fix some -W{strict,missing}-prototypes warnings.Tavian Barnes2010-07-3111-18/+18
|
* Use dmnsn_min() and _max() in dmnsn_vector_min() and _max().Tavian Barnes2010-07-181-10/+10
|
* Don't expose the contents of struct dmnsn_progress.Tavian Barnes2010-07-141-23/+1
|
* New dmnsn_radians() and dmnsn_degrees() conversion functions.Tavian Barnes2010-07-031-1/+13
|
* Add some macros to make printf()-ing geometric types easier.Tavian Barnes2010-06-201-0/+18
|
* Bulk-load CSG unions.Tavian Barnes2010-06-141-1/+1
| | | | The old way made O(n) PR-trees for no particular reason.
* New dmnsn_bounding_box_is_infinite() predicate.Tavian Barnes2010-06-061-0/+7
|
* New bounding box special constructors.Tavian Barnes2010-06-061-0/+20
|
* Add children to dmnsn_objects, which enables splitting unions.Tavian Barnes2010-06-051-0/+3
| | | | Also, use PR-trees for unions internally.
* Rename `precompute' to `init'.Tavian Barnes2010-06-042-5/+5
|
* Add refcounts to textures and interiors.Tavian Barnes2010-06-032-0/+6
|
* Add precompute callback to objects.Tavian Barnes2010-05-311-0/+2
|
* Precompute objects in dmnsn_raytrace_scene() rather than dmnsn_new_prtree().Tavian Barnes2010-05-301-0/+2
|
* New dmnsn_vector_element() function.Tavian Barnes2010-05-181-0/+25
|
* Fix some copyright dates.Tavian Barnes2010-05-1018-18/+18
|
* Write some more docs, and fix a couple things noticed while writing them.Tavian Barnes2010-05-101-3/+3
|
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-1/+21
|
* New dmnsn_array_from_list() function.Tavian Barnes2010-05-071-7/+9
|
* Use C99 for loop initializers.Tavian Barnes2010-05-052-7/+9
|
* Add dmnsn_{min,max}() inlines.Tavian Barnes2010-05-041-0/+14
|
* Fix list sorting.Tavian Barnes2010-05-011-7/+8
|
* Implement list sorting.Tavian Barnes2010-04-301-18/+52
|
* Use dmnsn_assert() for array and list range checks.Tavian Barnes2010-04-303-38/+18
|
* Add a generic list type.Tavian Barnes2010-04-302-2/+196
|
* Fix some includes.Tavian Barnes2010-04-271-1/+1
|
* Fix some spurious includes.Tavian Barnes2010-04-272-4/+3
|
* Rename dmnsn_matrix_*_mul() to dmnsn_transform_*().Tavian Barnes2010-04-172-7/+7
|
* Add plane object.Tavian Barnes2010-04-151-0/+3
|
* Add transformations to textures and pigments.Tavian Barnes2010-04-152-0/+15
| | | | | Also, object intersection callbacks are now responsible for handling their own transformations.
* New canvas pigment (image map).Tavian Barnes2010-04-131-0/+2
|
* Don't use dynamic memory for dmnsn_intersection's.Tavian Barnes2010-04-071-7/+3
| | | | Drops us from ~400,000 allocs to ~1000. Oops ><.
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-073-23/+42
| | | | | | 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.
* Add CSG unions to libdimension.Tavian Barnes2010-04-061-0/+33
|
* New dmnsn_bounding_box type.Tavian Barnes2010-04-062-6/+20
|
* New dmnsn_vector_min() and _max() functions.Tavian Barnes2010-04-061-0/+20
|
* Make inside_fn's return bool.Tavian Barnes2010-04-051-2/+4
|
* New dmnsn_clear_canvas() function.Tavian Barnes2010-03-241-0/+1
| | | | Makes valgrind happier about the GL test.
* Make float equality comparisons more relaxed.Tavian Barnes2010-03-191-1/+17
|
* Add the dmnsn_interior* to dmnsn_intersection*.Tavian Barnes2010-02-251-3/+4
|
* New dmnsn_interior* type.Tavian Barnes2010-02-252-0/+45
|
* Rename `limit' scene field to `reclimit'.Tavian Barnes2010-02-231-2/+2
|
* Revert "Use dmnsn_assert for array range checks."Tavian Barnes2010-02-101-3/+14
| | | | | | This reverts commit a4eb36a5df16fadfb0d86167acaaef7bd60daf7c. Having dmnsn_assert() in inline functions may change their definition depending on the value of NDEBUG, which violates C++ inline rules.
* Use dmnsn_assert for array range checks.Tavian Barnes2010-02-101-14/+3
|
* New dmnsn_assert() macro for invariant violations.Tavian Barnes2010-02-091-0/+10
|
* Fix up license blurbs and copyright year.Tavian Barnes2010-01-2718-18/+18
|
* Check for empty array in dmnsn_array_pop().Tavian Barnes2010-01-181-0/+5
|
* Add proper range checks to dmnsn_array_insert() and _remove().Tavian Barnes2010-01-181-4/+11
|