summaryrefslogtreecommitdiffstats
path: root/libdimension/raytrace.c
Commit message (Collapse)AuthorAgeFilesLines
* Cache previous intersections in dmnsn_prtree_intersection().Tavian Barnes2011-04-201-4/+5
| | | | | Due to geometric locality of rays, this provides a very large speedup for most scenes.
* Fix up translucency semantics and API.Tavian Barnes2011-04-121-10/+7
|
* Fix '?.' typos.Tavian Barnes2011-04-111-2/+2
|
* Don't use awkward (*fptr)() syntax.Tavian Barnes2011-04-031-5/+5
|
* Update email address.Tavian Barnes2011-03-081-1/+1
|
* New dmnsn_warning() API, remove different severities.Tavian Barnes2011-03-081-1/+1
|
* New dmnsn_execute_concurrently internal API.Tavian Barnes2011-02-211-80/+22
| | | | This gets all pthread code out of raytrace.c.
* Fix license years.Tavian Barnes2011-02-171-1/+1
|
* Get rid of the unused multi-level loop crap in dmnsn_progress* objects.Tavian Barnes2011-02-171-2/+1
|
* Reset the ior to 1.0 for every ray.Tavian Barnes2010-12-111-1/+1
|
* Rename dmnsn_*_init() to dmnsn_initialize_*().Tavian Barnes2010-11-221-1/+1
|
* Implement sky spheres.Tavian Barnes2010-11-191-24/+32
|
* Support global ambient_light.Tavian Barnes2010-11-191-1/+3
|
* Fix race when one worker thread errors out.Tavian Barnes2010-11-171-4/+13
|
* End sentences with periods.Tavian Barnes2010-11-151-2/+2
|
* Document libdimension with Doxygen.Tavian Barnes2010-11-141-22/+33
|
* Don't just use quick_color for solid_color pigments.Tavian Barnes2010-11-091-3/+4
| | | | | quick_color should be able to be used to change an object's color for low-quality-renders.
* Add quick_color to pigments.Tavian Barnes2010-11-081-7/+18
|
* Correctly propagate errors in raytracing worker threads.Tavian Barnes2010-10-241-7/+3
|
* Error out if an error occurs in a raytracing worker thread.Tavian Barnes2010-10-021-1/+8
|
* Make dmnsn_new_thread() bail out on errors.Tavian Barnes2010-09-291-5/+1
|
* Add a timer API to libdimension.Tavian Barnes2010-09-261-19/+25
|
* Add dmnsn_free() to match dmnsn_malloc().Tavian Barnes2010-09-261-3/+3
|
* Rename dimension_impl.h to dimension-impl.h.Tavian Barnes2010-07-141-1/+1
|
* Whitespace fixes.Tavian Barnes2010-06-201-1/+1
|
* New dmnsn_prtree_inside() function, rename dmnsn_prtree_search().Tavian Barnes2010-06-061-2/+3
|
* Rename `precompute' to `init'.Tavian Barnes2010-06-041-1/+1
|
* Precompute objects in dmnsn_raytrace_scene() rather than dmnsn_new_prtree().Tavian Barnes2010-05-301-0/+6
|
* New dmnsn_new_thread() function.Tavian Barnes2010-05-091-23/+11
| | | | | | | 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.
* New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get().Tavian Barnes2010-05-081-7/+3
|
* Use C99 for loop initializers.Tavian Barnes2010-05-051-13/+9
|
* Replace BVSTs with priority R-trees.Tavian Barnes2010-05-051-21/+10
|
* Fix some includes.Tavian Barnes2010-04-271-0/+1
|
* Don't render transparent shadows with transparency off.Tavian Barnes2010-04-171-1/+2
|
* Remove a bunch of errno.h includes.Tavian Barnes2010-04-131-1/+0
|
* Fix low-quality renders.Tavian Barnes2010-04-111-0/+2
|
* Don't use dynamic memory for dmnsn_intersection's.Tavian Barnes2010-04-071-14/+10
| | | | Drops us from ~400,000 allocs to ~1000. Oops ><.
* New dmnsn_malloc() function, and friends.Tavian Barnes2010-04-071-88/+37
| | | | | | 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-3/+11
|
* Make float equality comparisons more relaxed.Tavian Barnes2010-03-191-13/+0
|
* Rename dmnsn_bvst_copy() to dmnsn_copy_bvst().Tavian Barnes2010-03-161-1/+1
|
* Handle nested refractive objects correctly.Tavian Barnes2010-03-021-11/+24
|
* Implement refraction.Tavian Barnes2010-02-251-5/+39
|
* Point the normal vectors away from the object.Tavian Barnes2010-02-251-1/+2
|
* Determine nthreads in dmnsn_new_scene().Tavian Barnes2010-02-231-10/+5
|
* Rename `limit' scene field to `reclimit'.Tavian Barnes2010-02-231-8/+8
|
* Use standard C for texture callback macros.Tavian Barnes2010-01-181-28/+25
|
* Rename kD splay trees to Bounding Volume Splay Trees.Tavian Barnes2010-01-151-20/+17
|
* Don't reflect transparent colors.Tavian Barnes2010-01-141-0/+2
|
* Finally proper translucency semantics.Tavian Barnes2010-01-141-43/+42
|