summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Don't use __FILE__ as a fallback for DMNSN_FUNC.Tavian Barnes2010-01-181-1/+1
| | | | We already print __FILE__, so that would look weird.
* Make quality flags work in C++.Tavian Barnes2010-01-171-2/+4
| | | | C++ doesn't handle bitwise ops for enum types.
* Make number of raytracing worker threads configurable.Tavian Barnes2010-01-141-0/+3
|
* New use dmnsn_color_gradient() for weighted reflections.Tavian Barnes2010-01-131-1/+1
|
* Clean up internal raytracing API a bit.Tavian Barnes2010-01-131-0/+5
|
* Split finish_fn into diffuse_fn and specular_fn.Tavian Barnes2010-01-131-6/+10
|
* Implement reflection.Tavian Barnes2010-01-094-3/+13
|
* Make recursion limit a scene parameter.Tavian Barnes2010-01-081-0/+3
|
* Kill DMNSN_RENDER_OBJECTS.Tavian Barnes2010-01-081-5/+4
|
* Make quality settings into flags.Tavian Barnes2010-01-061-8/+8
|
* Separate finishes into single-purpose finishes.Tavian Barnes2009-12-232-6/+11
|
* Work in sRGB to be more like POV-Ray.Tavian Barnes2009-12-072-9/+3
|
* Fake camera semantics until I figure out the real ones.Tavian Barnes2009-11-271-0/+16
|
* Add source filename to dmnsn_error() output.Tavian Barnes2009-11-251-2/+5
|
* Use dmnsn_new_*() rather than dmnsn_*_construct().Tavian Barnes2009-11-191-6/+6
|
* Translucency support.Tavian Barnes2009-11-182-0/+2
|
* Use CIE 1931 RGB for dmnsn_color_illuminate().Tavian Barnes2009-11-171-1/+8
|
* Implement phong shading.Tavian Barnes2009-11-171-2/+3
|
* Make finish callback a propper BRDF.Tavian Barnes2009-11-172-3/+14
|
* Use "diffuse" instead of "specular" for diffuse finish.Tavian Barnes2009-11-171-2/+2
|
* Use finishes.Tavian Barnes2009-11-091-0/+1
|
* Add support for finishes (BRDFs).Tavian Barnes2009-11-092-0/+58
|
* 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
|
* Rudimentary light/shadow handling.Tavian Barnes2009-11-092-3/+4
|
* Add lights to scenes.Tavian Barnes2009-11-091-3/+6
|
* Add support for lights.Tavian Barnes2009-11-092-0/+77
|
* Clean up some dmnsn_new_*() functions.Tavian Barnes2009-10-261-10/+11
| | | | | Rather than special-case every failed memory allocation, just make dmnsn_delete_*() more robust and call it.
* Don't check if it's too late to add canvas optimizers.Tavian Barnes2009-10-261-3/+2
| | | | This fixes some errors displayed by concurrency checkers like helgrind and drd.
* Allow custom fatal error handlers.Tavian Barnes2009-10-181-0/+8
|
* Add bounding boxes to objects.Tavian Barnes2009-10-051-0/+3
|
* Actully guarantee array allocation in dmnsn_new_array().Tavian Barnes2009-10-051-3/+5
|
* New benchmarking suite.Tavian Barnes2009-10-041-1/+2
|