summaryrefslogtreecommitdiffstats
path: root/libdimension/object.c
Commit message (Collapse)AuthorAgeFilesLines
* Support multiple texture assignment properly.Tavian Barnes2011-07-261-3/+13
|
* Vast libdimension API and internals improvements.Tavian Barnes2011-06-131-18/+20
| | | | | Couldn't really do these while I was trying to be POV-Ray compatible, 'cause they would've broken compatibility.
* Don't allocate reference counts on the heap.Tavian Barnes2011-05-281-2/+1
|
* Add a refcount to objects.Tavian Barnes2011-05-161-1/+3
|
* Consolidate reference counting code.Tavian Barnes2011-05-161-0/+5
|
* Don't use awkward (*fptr)() syntax.Tavian Barnes2011-04-031-2/+2
|
* Update email address.Tavian Barnes2011-03-081-1/+1
|
* Fix license years.Tavian Barnes2011-02-171-1/+1
|
* Make dmnsn_object_{intersection,inside}() inline.Tavian Barnes2011-02-091-36/+0
|
* Make some empty parameter lists explicit.Tavian Barnes2010-11-301-1/+1
|
* Rename dmnsn_*_init() to dmnsn_initialize_*().Tavian Barnes2010-11-221-10/+12
|
* Make the bottom [0 0 0 1] of affine transformation matricies implicit.Tavian Barnes2010-11-161-4/+1
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-0/+5
|
* Fix double-init bug for inherited textures.Tavian Barnes2010-11-081-2/+11
|
* Factor out transformation code from object callbacks.Tavian Barnes2010-11-061-0/+39
|
* Inline some commonly-used functions.Tavian Barnes2010-10-181-11/+0
|
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-1/+1
|
* Add children to dmnsn_objects, which enables splitting unions.Tavian Barnes2010-06-051-0/+5
| | | | Also, use PR-trees for unions internally.
* Rename `precompute' to `init'.Tavian Barnes2010-06-041-9/+9
|
* Add precompute callback to objects.Tavian Barnes2010-05-311-4/+10
|
* Fix some copyright dates.Tavian Barnes2010-05-101-1/+1
|
* Fix some includes.Tavian Barnes2010-04-271-0/+1
|
* Rename dmnsn_matrix_*_mul() to dmnsn_transform_*().Tavian Barnes2010-04-171-4/+4
|
* Add transformations to textures and pigments.Tavian Barnes2010-04-151-0/+25
| | | | | 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
|
* Don't use dynamic memory for dmnsn_intersection's.Tavian Barnes2010-04-071-15/+0
| | | | Drops us from ~400,000 allocs to ~1000. Oops ><.
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-15/+7
| | | | | | 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.
* Set errno on failures.Tavian Barnes2010-04-011-0/+3
|
* Forgot to dmnsn_delete_interior() in dmnsn_delete_object().Tavian Barnes2010-02-251-0/+1
|
* New dmnsn_interior* type.Tavian Barnes2010-02-251-3/+4
|
* Fix up license blurbs and copyright year.Tavian Barnes2010-01-271-1/+1
|
* Clean up some dmnsn_new_*() functions.Tavian Barnes2009-10-261-1/+1
| | | | | Rather than special-case every failed memory allocation, just make dmnsn_delete_*() more robust and call it.
* Improve garbage handling of dmnsn_delete_object().Tavian Barnes2009-10-191-0/+1
|
* New C++ wrapper for dmnsn_texture*.Tavian Barnes2009-07-161-0/+18
|
* Add destructor callbacks for polymorphic C types, and use their baseTavian Barnes2009-07-161-2/+8
| | | | dmnsn_delete_*() function.
* Begin dmnsn_texture* type.Tavian Barnes2009-07-121-0/+1
|
* Update license copyrights to 2009.Tavian Barnes2009-07-081-1/+1
|
* Add lots of comments, and some code fixes discovered in the process.Tavian Barnes2009-06-261-0/+2
|
* Add a transformation matrix to objects.Tavian Barnes2009-06-141-1/+5
|
* Begin object type, with sphere example.Tavian Barnes2009-05-131-0/+34