Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Slight prtree search optimization. | Tavian Barnes | 2010-05-29 | 1 | -5/+5 |
| | | | | Exploit floating-point infinities to eliminate special t < 0.0 condition. | ||||
* | Clean up sphere intersection code a bit. | Tavian Barnes | 2010-05-25 | 1 | -6/+6 |
| | |||||
* | Fix memory handling in dmnsn_new_thread(). | Tavian Barnes | 2010-05-21 | 1 | -1/+2 |
| | |||||
* | Store the bounding boxes of child PR-tree nodes in the parent. | Tavian Barnes | 2010-05-20 | 2 | -60/+67 |
| | | | | This improves cache locality and is good for about a 10% performance boost. | ||||
* | New dmnsn_vector_element() function. | Tavian Barnes | 2010-05-18 | 1 | -0/+25 |
| | |||||
* | Add a pkg-config file to libdimension. | Tavian Barnes | 2010-05-13 | 2 | -0/+14 |
| | |||||
* | Don't attempt to use profile data for profiling build. | Tavian Barnes | 2010-05-13 | 1 | -1/+1 |
| | |||||
* | Fix some copyright dates. | Tavian Barnes | 2010-05-10 | 36 | -36/+36 |
| | |||||
* | Write some more docs, and fix a couple things noticed while writing them. | Tavian Barnes | 2010-05-10 | 4 | -7/+7 |
| | |||||
* | New dmnsn_new_thread() function. | Tavian Barnes | 2010-05-09 | 6 | -174/+228 |
| | | | | | | | 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. | ||||
* | Clean up some unused variables. | Tavian Barnes | 2010-05-09 | 2 | -4/+1 |
| | |||||
* | New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get(). | Tavian Barnes | 2010-05-08 | 7 | -53/+48 |
| | |||||
* | Handle degenerate cases in ray/box intersections. | Tavian Barnes | 2010-05-08 | 2 | -1/+19 |
| | |||||
* | Fix argument to malloc(). | Tavian Barnes | 2010-05-07 | 1 | -1/+1 |
| | |||||
* | Don't store unbounded objects (planes, etc.) in the PR-tree. | Tavian Barnes | 2010-05-07 | 2 | -24/+94 |
| | | | | | Keep them in a dmnsn_array* instead. This makes the tree better and saves us some search time. | ||||
* | New dmnsn_array_from_list() function. | Tavian Barnes | 2010-05-07 | 2 | -7/+24 |
| | |||||
* | Use C99 for loop initializers. | Tavian Barnes | 2010-05-05 | 12 | -99/+78 |
| | |||||
* | Optimize ray-AABB intersection tests a bit. | Tavian Barnes | 2010-05-05 | 1 | -51/+29 |
| | |||||
* | Make dmnsn_new_prtree() handle empty scenes. | Tavian Barnes | 2010-05-05 | 1 | -0/+6 |
| | |||||
* | Replace BVSTs with priority R-trees. | Tavian Barnes | 2010-05-05 | 6 | -446/+606 |
| | |||||
* | Optimize cube intersection function a bit. | Tavian Barnes | 2010-05-04 | 1 | -59/+82 |
| | |||||
* | Add dmnsn_{min,max}() inlines. | Tavian Barnes | 2010-05-04 | 1 | -0/+14 |
| | |||||
* | Remove debugging code from dmnsn_list_sort(). | Tavian Barnes | 2010-05-03 | 1 | -8/+2 |
| | |||||
* | Fix list sorting. | Tavian Barnes | 2010-05-01 | 2 | -9/+25 |
| | |||||
* | Implement list sorting. | Tavian Barnes | 2010-04-30 | 2 | -18/+109 |
| | |||||
* | Use dmnsn_assert() for array and list range checks. | Tavian Barnes | 2010-04-30 | 4 | -38/+19 |
| | |||||
* | Add a generic list type. | Tavian Barnes | 2010-04-30 | 5 | -2/+244 |
| | |||||
* | Fix some includes. | Tavian Barnes | 2010-04-27 | 19 | -2/+19 |
| | |||||
* | Fix some spurious includes. | Tavian Barnes | 2010-04-27 | 2 | -4/+3 |
| | |||||
* | Rename dmnsn_matrix_*_mul() to dmnsn_transform_*(). | Tavian Barnes | 2010-04-17 | 10 | -38/+38 |
| | |||||
* | Don't render transparent shadows with transparency off. | Tavian Barnes | 2010-04-17 | 1 | -1/+2 |
| | |||||
* | Fix canvas_pigments with negative coordinates. | Tavian Barnes | 2010-04-15 | 1 | -7/+4 |
| | |||||
* | Add plane object. | Tavian Barnes | 2010-04-15 | 3 | -0/+87 |
| | |||||
* | Support infinitely large bounding boxes. | Tavian Barnes | 2010-04-15 | 2 | -10/+17 |
| | |||||
* | Add transformations to textures and pigments. | Tavian Barnes | 2010-04-15 | 9 | -131/+149 |
| | | | | | Also, object intersection callbacks are now responsible for handling their own transformations. | ||||
* | New canvas pigment (image map). | Tavian Barnes | 2010-04-13 | 3 | -0/+61 |
| | |||||
* | Remove a bunch of errno.h includes. | Tavian Barnes | 2010-04-13 | 19 | -19/+0 |
| | |||||
* | Fix low-quality renders. | Tavian Barnes | 2010-04-11 | 1 | -0/+2 |
| | |||||
* | Get rid of some duplication in csg.c, and fix missed add of dmnsn_epsilon. | Tavian Barnes | 2010-04-11 | 1 | -163/+23 |
| | |||||
* | Don't use dynamic memory for dmnsn_intersection's. | Tavian Barnes | 2010-04-07 | 8 | -234/+224 |
| | | | | Drops us from ~400,000 allocs to ~1000. Oops ><. | ||||
* | Calculate CSG bounding boxes more accurately. | Tavian Barnes | 2010-04-07 | 1 | -9/+3 |
| | |||||
* | New dmnsn_malloc() function, and friends. | Tavian Barnes | 2010-04-07 | 30 | -696/+411 |
| | | | | | | 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. | ||||
* | Implement CSG differences in libdimension. | Tavian Barnes | 2010-04-06 | 1 | -1/+139 |
| | |||||
* | Re-cast rays properly in intersections and merges. | Tavian Barnes | 2010-04-06 | 1 | -9/+38 |
| | |||||
* | Add CSG merges to libdimension. | Tavian Barnes | 2010-04-06 | 1 | -0/+125 |
| | |||||
* | Add CSG intersections to libdimension. | Tavian Barnes | 2010-04-06 | 1 | -0/+125 |
| | |||||
* | Add CSG unions to libdimension. | Tavian Barnes | 2010-04-06 | 4 | -0/+179 |
| | |||||
* | New dmnsn_bounding_box type. | Tavian Barnes | 2010-04-06 | 7 | -104/+129 |
| | |||||
* | New dmnsn_vector_min() and _max() functions. | Tavian Barnes | 2010-04-06 | 2 | -7/+22 |
| | |||||
* | Make inside_fn's return bool. | Tavian Barnes | 2010-04-05 | 3 | -8/+10 |
| |