summaryrefslogtreecommitdiffstats
path: root/libdimension/raytrace.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Collapse some repeated work in raytracing.Tavian Barnes2010-01-141-18/+18
|
* Make number of raytracing worker threads configurable.Tavian Barnes2010-01-141-6/+8
|
* Match POV-Ray transparency semantics a bit better.Tavian Barnes2010-01-141-2/+1
|
* Fold repeated dmnsn_line_point() calls.Tavian Barnes2010-01-131-19/+11
|
* Implement proper texture overloading.Tavian Barnes2010-01-131-71/+48
|
* Clean up internal raytracing API a bit.Tavian Barnes2010-01-131-13/+9
|
* Split finish_fn into diffuse_fn and specular_fn.Tavian Barnes2010-01-131-5/+14
|
* Implement reflection.Tavian Barnes2010-01-091-44/+100
|
* Make recursion limit a scene parameter.Tavian Barnes2010-01-081-18/+18
|
* Modularize translucency.Tavian Barnes2010-01-081-28/+32
|
* Kill DMNSN_RENDER_OBJECTS.Tavian Barnes2010-01-081-1/+1
|
* Clean up internal raytracing API a bit.Tavian Barnes2010-01-071-60/+74
|
* Limit recursion depth in raytracing.Tavian Barnes2010-01-061-9/+20
|