Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Cylinder fixes. | Tavian Barnes | 2010-08-15 | 1 | -8/+17 |
| | |||||
* | Support closed cylinders. | Tavian Barnes | 2010-08-14 | 2 | -13/+40 |
| | |||||
* | Add cylinders to libdimension. | Tavian Barnes | 2010-08-14 | 4 | -1/+98 |
| | |||||
* | Get rid of a lot of unnecessary wakeups in dmnsn_wait_progress(). | Tavian Barnes | 2010-08-09 | 2 | -6/+23 |
| | |||||
* | Optimize PR-tree construction a bit. | Tavian Barnes | 2010-08-01 | 2 | -7/+13 |
| | |||||
* | Fix PR-tree implementation. | Tavian Barnes | 2010-08-01 | 1 | -13/+14 |
| | | | | Grab priority leaves all at once instead of round-robin. | ||||
* | Fix some -W{strict,missing}-prototypes warnings. | Tavian Barnes | 2010-07-31 | 14 | -23/+23 |
| | |||||
* | Move test outside of loop in dmnsn_prtree_intersection_recursive(). | Tavian Barnes | 2010-07-20 | 1 | -7/+13 |
| | |||||
* | Use dmnsn_min() and _max() in dmnsn_vector_min() and _max(). | Tavian Barnes | 2010-07-18 | 1 | -10/+10 |
| | |||||
* | Make DMNSN_PRTREE_B and internal types local to prtree.c. | Tavian Barnes | 2010-07-18 | 2 | -12/+14 |
| | |||||
* | Remove degeneracy test from ray-box intersections. | Tavian Barnes | 2010-07-18 | 1 | -17/+25 |
| | | | | | To avoid testing degenerate boxes, set prtree->root to NULL when the tree contains no bounded objects. | ||||
* | Speed up cube intersection tests. | Tavian Barnes | 2010-07-16 | 1 | -83/+60 |
| | |||||
* | Add descriptive comment to new branchless ray-AABB intersection tests. | Tavian Barnes | 2010-07-15 | 1 | -0/+9 |
| | |||||
* | Remove some unneeded tests from ray-AABB intersection tests. | Tavian Barnes | 2010-07-15 | 1 | -43/+28 |
| | |||||
* | Clean up optimized ray-AABB intersection code a bit. | Tavian Barnes | 2010-07-15 | 1 | -21/+29 |
| | |||||
* | Precalculate 1.0/ray.n.{x,y,z} for ray-box intersection tests. | Tavian Barnes | 2010-07-14 | 1 | -12/+17 |
| | | | | This saves us nearly a factor of 2, and I feel silly for not doing this before. | ||||
* | Rename dimension_impl.h to dimension-impl.h. | Tavian Barnes | 2010-07-14 | 11 | -10/+11 |
| | |||||
* | Don't expose the contents of struct dmnsn_progress. | Tavian Barnes | 2010-07-14 | 6 | -25/+50 |
| | |||||
* | Save some degeneracy tests in ray-AABB intersection tests. | Tavian Barnes | 2010-07-09 | 1 | -16/+14 |
| | |||||
* | New dmnsn_radians() and dmnsn_degrees() conversion functions. | Tavian Barnes | 2010-07-03 | 1 | -1/+13 |
| | |||||
* | Make dmnsn_perspective_camera_ray_fn() more idiomatic. | Tavian Barnes | 2010-07-03 | 1 | -9/+5 |
| | |||||
* | Make dmnsn_ray_box_intersection() return false for zero boxes. | Tavian Barnes | 2010-07-03 | 1 | -3/+3 |
| | |||||
* | Code formatting fixes. | Tavian Barnes | 2010-07-01 | 1 | -4/+12 |
| | |||||
* | Add some functionality checks to configure.ac for platform.c. | Tavian Barnes | 2010-06-29 | 1 | -7/+33 |
| | |||||
* | Move platform-specific stuff in libdimension into platform.c. | Tavian Barnes | 2010-06-29 | 4 | -26/+48 |
| | |||||
* | Use sched_getaffinity() rather than sysconf(_SC_NPROCESSORS_ONLN). | Tavian Barnes | 2010-06-28 | 5 | -10/+72 |
| | | | | Also, abstract cpu counting into dedicated dmnsn_ncpus() function. | ||||
* | Don't make a degenerate sphere in transformations.pov. | Tavian Barnes | 2010-06-28 | 1 | -5/+5 |
| | |||||
* | Whitespace fixes. | Tavian Barnes | 2010-06-20 | 1 | -1/+1 |
| | |||||
* | Add some macros to make printf()-ing geometric types easier. | Tavian Barnes | 2010-06-20 | 1 | -0/+18 |
| | |||||
* | Bulk-load CSG unions. | Tavian Barnes | 2010-06-14 | 2 | -4/+7 |
| | | | | The old way made O(n) PR-trees for no particular reason. | ||||
* | New dmnsn_bounding_box_is_infinite() predicate. | Tavian Barnes | 2010-06-06 | 3 | -8/+10 |
| | |||||
* | Don't use an anonymous union in prtree.c. | Tavian Barnes | 2010-06-06 | 1 | -25/+25 |
| | |||||
* | New bounding box special constructors. | Tavian Barnes | 2010-06-06 | 5 | -31/+37 |
| | |||||
* | New dmnsn_prtree_inside() function, rename dmnsn_prtree_search(). | Tavian Barnes | 2010-06-06 | 4 | -16/+55 |
| | |||||
* | Add children to dmnsn_objects, which enables splitting unions. | Tavian Barnes | 2010-06-05 | 5 | -62/+68 |
| | | | | Also, use PR-trees for unions internally. | ||||
* | Rename `precompute' to `init'. | Tavian Barnes | 2010-06-04 | 6 | -34/+34 |
| | |||||
* | Use precompute callback for CSG objects. | Tavian Barnes | 2010-06-04 | 1 | -76/+123 |
| | |||||
* | Add refcounts to textures and interiors. | Tavian Barnes | 2010-06-03 | 4 | -11/+31 |
| | |||||
* | Add precompute callback to objects. | Tavian Barnes | 2010-05-31 | 2 | -4/+12 |
| | |||||
* | Precompute objects in dmnsn_raytrace_scene() rather than dmnsn_new_prtree(). | Tavian Barnes | 2010-05-30 | 3 | -11/+8 |
| | |||||
* | 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. |