summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension/object.h
Commit message (Collapse)AuthorAgeFilesLines
* Transform normals as pseudovectors, not vectors.Tavian Barnes2011-09-141-22/+5
| | | | | | | | Also clarify the vector transformation API. Instead of dmnsn_transform_vector(), we have: - dmnsn_transform_point() - dmnsn_transform_direction() - dmnsn_transform_normal()
* Use dmnsn_object::intrinsic_trans from Python.Tavian Barnes2011-09-121-1/+1
|
* Support multiple texture assignment properly.Tavian Barnes2011-07-261-8/+13
|
* Vast libdimension API and internals improvements.Tavian Barnes2011-06-131-9/+6
| | | | | 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-1/+1
|
* Rename to dmnsn_vector_normalized().Tavian Barnes2011-05-181-1/+1
|
* Add a refcount to objects.Tavian Barnes2011-05-161-0/+3
|
* Get rid of include guards on sub-headers.Tavian Barnes2011-05-161-5/+0
|
* 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-3/+40
|
* Rename dmnsn_*_init() to dmnsn_initialize_*().Tavian Barnes2010-11-221-3/+3
|
* End sentences with periods.Tavian Barnes2010-11-151-10/+13
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-33/+68
|
* Factor out transformation code from object callbacks.Tavian Barnes2010-11-061-15/+5
|
* Inline some commonly-used functions.Tavian Barnes2010-10-181-2/+16
|
* Fix some -W{strict,missing}-prototypes warnings.Tavian Barnes2010-07-311-1/+1
|
* 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-041-3/+3
|
* Add precompute callback to objects.Tavian Barnes2010-05-311-0/+2
|
* Fix some copyright dates.Tavian Barnes2010-05-101-1/+1
|
* Rename dmnsn_matrix_*_mul() to dmnsn_transform_*().Tavian Barnes2010-04-171-1/+1
|
* Add transformations to textures and pigments.Tavian Barnes2010-04-151-0/+4
| | | | | Also, object intersection callbacks are now responsible for handling their own transformations.
* 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_bounding_box type.Tavian Barnes2010-04-061-1/+1
|
* Make inside_fn's return bool.Tavian Barnes2010-04-051-2/+4
|
* Add the dmnsn_interior* to dmnsn_intersection*.Tavian Barnes2010-02-251-3/+4
|
* New dmnsn_interior* type.Tavian Barnes2010-02-251-0/+3
|
* Fix up license blurbs and copyright year.Tavian Barnes2010-01-271-1/+1
|
* Calculate surface normals in intersection callbacks.Tavian Barnes2009-11-091-0/+3
|
* Store inverse object transformation in a separate field.Tavian Barnes2009-11-091-1/+1
|
* Add bounding boxes to objects.Tavian Barnes2009-10-051-0/+3
|
* New C++ wrapper for dmnsn_texture*.Tavian Barnes2009-07-161-0/+1
|
* New dmnsn_intersection* type for ray-object intersections.Tavian Barnes2009-07-161-6/+20
|
* Add destructor callbacks for polymorphic C types, and use their baseTavian Barnes2009-07-161-0/+5
| | | | dmnsn_delete_*() function.
* Begin dmnsn_texture* type.Tavian Barnes2009-07-121-2/+4
|
* 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-3/+4
|
* Add a transformation matrix to objects.Tavian Barnes2009-06-141-0/+3
|
* Properly forward-declare dmnsn_object and dmnsn_camera, and take aTavian Barnes2009-06-131-2/+6
| | | | transformation matrix in dmnsn_new_perspective_camera().
* Pass pointer to object in object callbacks.Tavian Barnes2009-06-131-2/+4
|
* Begin object type, with sphere example.Tavian Barnes2009-05-131-0/+9
|
* Add new general array interface.Tavian Barnes2009-05-071-0/+34