Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | future: Add a race-free way to examine a partial computation. | Tavian Barnes | 2014-04-23 | 1 | -2/+2 |
| | | | | | | This allows safe OpenGL previews, for example. dmnsn_future* learned the dmnsn_future_{pause,resume}() functions which cause all worker threads to block. render.test now survives Helgrind with no errors. | ||||
* | prtree: Sort large workloads in parallel. | Tavian Barnes | 2014-02-01 | 1 | -10/+53 |
| | | | | Performance benefit is around 33% for more than 1000 objects. | ||||
* | prtree: Optimize dmnsn_new_prtree() by avoiding some allocation. | Tavian Barnes | 2013-09-05 | 1 | -97/+115 |
| | | | | Around 11% faster. | ||||
* | Allow other BVH implementations to be used. | Tavian Barnes | 2012-12-17 | 1 | -409/+30 |
| | | | | | dmnsn_bvh is now a generic API, which could potentially support octrees, etc, in addition to PR-trees. | ||||
* | Add some branch instrumentation from gcov profile. | Tavian Barnes | 2011-11-16 | 1 | -3/+3 |
| | |||||
* | Add a dmnsn_unreachable() macro. | Tavian Barnes | 2011-11-16 | 1 | -2/+1 |
| | | | | Also rename inline.h to compiler.h. | ||||
* | Simplify loop condition in PR-tree traversal. | Tavian Barnes | 2011-11-03 | 1 | -6/+4 |
| | | | | | Doing this used to actually generate *worse* code, but now it looks like it generates much better code. | ||||
* | Clean up PR-tree intersection code. | Tavian Barnes | 2011-11-02 | 1 | -24/+23 |
| | |||||
* | Rename dimension-impl.h to dimension-internal.h | Tavian Barnes | 2011-08-25 | 1 | -1/+1 |
| | |||||
* | Wrap pthread API to reduce duplicated error tests. | Tavian Barnes | 2011-08-02 | 1 | -21/+8 |
| | |||||
* | Add leopard pigment. | Tavian Barnes | 2011-07-28 | 1 | -1/+1 |
| | |||||
* | Vast libdimension API and internals improvements. | Tavian Barnes | 2011-06-13 | 1 | -3/+3 |
| | | | | | Couldn't really do these while I was trying to be POV-Ray compatible, 'cause they would've broken compatibility. | ||||
* | Add basic leak check. | Tavian Barnes | 2011-05-16 | 1 | -1/+1 |
| | |||||
* | Fix crash when deleting unused prtree caches. | Tavian Barnes | 2011-05-11 | 1 | -12/+17 |
| | |||||
* | prtree.c code cleanup. | Tavian Barnes | 2011-05-11 | 1 | -8/+8 |
| | |||||
* | Use arrays for PR-tree construction instead of lists. | Tavian Barnes | 2011-05-10 | 1 | -133/+115 |
| | |||||
* | Plug memory leak caused by prtree caching. | Tavian Barnes | 2011-05-10 | 1 | -15/+57 |
| | |||||
* | Make dmnsn_new_prtree() more scalable. | Tavian Barnes | 2011-05-09 | 1 | -372/+223 |
| | |||||
* | Cache previous intersections in dmnsn_prtree_intersection(). | Tavian Barnes | 2011-04-20 | 1 | -2/+65 |
| | | | | | Due to geometric locality of rays, this provides a very large speedup for most scenes. | ||||
* | Shrink the dmnsn_optimized_line type. | Tavian Barnes | 2011-04-17 | 1 | -9/+9 |
| | |||||
* | Don't use awkward (*fptr)() syntax. | Tavian Barnes | 2011-04-03 | 1 | -12/+12 |
| | |||||
* | Update email address. | Tavian Barnes | 2011-03-08 | 1 | -1/+1 |
| | |||||
* | Bump DMNSN_PRTREE_B to 8. | Tavian Barnes | 2011-03-08 | 1 | -1/+1 |
| | |||||
* | New DMNSN_HOT macro. | Tavian Barnes | 2011-03-08 | 1 | -2/+2 |
| | |||||
* | Fix license years. | Tavian Barnes | 2011-02-17 | 1 | -1/+1 |
| | |||||
* | Flatten the pre-order traversal of the PR-tree for better cache locality. | Tavian Barnes | 2011-02-09 | 1 | -108/+127 |
| | |||||
* | Fix constness for dmnsn_list_comparator_fn. | Tavian Barnes | 2010-11-28 | 1 | -13/+25 |
| | |||||
* | End sentences with periods. | Tavian Barnes | 2010-11-15 | 1 | -1/+1 |
| | |||||
* | Document libdimension with Doxygen. | Tavian Barnes | 2010-11-14 | 1 | -12/+33 |
| | |||||
* | Factor out transformation code from object callbacks. | Tavian Barnes | 2010-11-06 | 1 | -4/+4 |
| | |||||
* | Slight ray-AABB intersection test optimization. | Tavian Barnes | 2010-11-02 | 1 | -1/+1 |
| | |||||
* | Add dmnsn_free() to match dmnsn_malloc(). | Tavian Barnes | 2010-09-26 | 1 | -3/+3 |
| | |||||
* | Optimize PR-tree construction a bit. | Tavian Barnes | 2010-08-01 | 1 | -7/+5 |
| | |||||
* | 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 | 1 | -1/+1 |
| | |||||
* | Move test outside of loop in dmnsn_prtree_intersection_recursive(). | Tavian Barnes | 2010-07-20 | 1 | -7/+13 |
| | |||||
* | Make DMNSN_PRTREE_B and internal types local to prtree.c. | Tavian Barnes | 2010-07-18 | 1 | -1/+13 |
| | |||||
* | 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. | ||||
* | 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 | 1 | -1/+1 |
| | |||||
* | Save some degeneracy tests in ray-AABB intersection tests. | Tavian Barnes | 2010-07-09 | 1 | -16/+14 |
| | |||||
* | Make dmnsn_ray_box_intersection() return false for zero boxes. | Tavian Barnes | 2010-07-03 | 1 | -3/+3 |
| | |||||
* | New dmnsn_bounding_box_is_infinite() predicate. | Tavian Barnes | 2010-06-06 | 1 | -1/+1 |
| | |||||
* | 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 | 1 | -28/+14 |
| | |||||
* | New dmnsn_prtree_inside() function, rename dmnsn_prtree_search(). | Tavian Barnes | 2010-06-06 | 1 | -6/+46 |
| | |||||
* | Add children to dmnsn_objects, which enables splitting unions. | Tavian Barnes | 2010-06-05 | 1 | -1/+25 |
| | | | | Also, use PR-trees for unions internally. |