summaryrefslogtreecommitdiffstats
path: root/libdimension/raytrace.c
Commit message (Collapse)AuthorAgeFilesLines
* Rename raytrace.{c,h} to ray_trace.{c,h}.Tavian Barnes2011-12-051-503/+0
|
* Evaluate specular highlights before reflection.Tavian Barnes2011-12-011-9/+11
|
* Get rid of dmnsn_color_is_black().Tavian Barnes2011-11-071-12/+15
|
* Make API more consistent.Tavian Barnes2011-10-301-62/+60
| | | | Object methods should be dmnsn_<object>_<fn>().
* Rename progress objects to future objects.Tavian Barnes2011-10-191-13/+13
|
* Transform normals as pseudovectors, not vectors.Tavian Barnes2011-09-141-1/+1
| | | | | | | | Also clarify the vector transformation API. Instead of dmnsn_transform_vector(), we have: - dmnsn_transform_point() - dmnsn_transform_direction() - dmnsn_transform_normal()
* Rename dimension-impl.h to dimension-internal.hTavian Barnes2011-08-251-1/+1
|
* Don't evaluate the background color if we don't have to.Tavian Barnes2011-08-211-6/+5
|
* Replace sky_spheres with a single background pigment.Tavian Barnes2011-08-211-10/+6
|
* Don't dynamically allocate timers.Tavian Barnes2011-08-211-4/+4
|
* Handle reflection of light and transmitted rays.Tavian Barnes2011-08-181-37/+78
|
* Rename "translucency" to "transparency".Tavian Barnes2011-08-121-7/+7
| | | | Perhaps I should look up terms before I use them.
* Support rendering image subregions.Tavian Barnes2011-07-291-2/+2
| | | | This is the first step to supporting distributed renders.
* Support multiple texture assignment properly.Tavian Barnes2011-07-261-23/+39
|
* Vast libdimension API and internals improvements.Tavian Barnes2011-06-131-74/+40
| | | | | Couldn't really do these while I was trying to be POV-Ray compatible, 'cause they would've broken compatibility.
* Make lights more generic to support directional lights.Tavian Barnes2011-05-301-14/+14
|
* Switch to Blender model of filtered transparency.Tavian Barnes2011-05-201-4/+5
|
* Rename to dmnsn_vector_normalized().Tavian Barnes2011-05-181-4/+4
|
* Implement adaptive depth control.Tavian Barnes2011-04-251-4/+22
|
* 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
|