Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make sure we die on critical dmnsn_error()'s. | Tavian Barnes | 2009-10-29 | 1 | -0/+2 |
| | |||||
* | Major dmnsn_kD_splay_search() optimization. | Tavian Barnes | 2009-10-26 | 1 | -19/+21 |
| | | | | | | | | At each level of recursion, we have to go down the right branch if it exists. But if we do this before we test the current node and the left branch, we can eliminate those tests in the likely case that we find a closer object in the geometrically larger right subtree. This gives about a 2X speed improvement according to `make bench'. | ||||
* | Clean up some dmnsn_new_*() functions. | Tavian Barnes | 2009-10-26 | 4 | -64/+37 |
| | | | | | Rather than special-case every failed memory allocation, just make dmnsn_delete_*() more robust and call it. | ||||
* | Delete empty cube.c. | Tavian Barnes | 2009-10-26 | 1 | -23/+0 |
| | |||||
* | Call dmnsn_done_progress() later in dmnsn_finish_progress(). | Tavian Barnes | 2009-10-26 | 1 | -3/+2 |
| | |||||
* | Don't check if it's too late to add canvas optimizers. | Tavian Barnes | 2009-10-26 | 4 | -26/+6 |
| | | | | This fixes some errors displayed by concurrency checkers like helgrind and drd. | ||||
* | Fix some concurrency mistakes. | Tavian Barnes | 2009-10-26 | 2 | -12/+31 |
| | | | | TODO: eliminate the too_late field on canvases. | ||||
* | More memory handling improvements. | Tavian Barnes | 2009-10-20 | 1 | -0/+2 |
| | |||||
* | Fix some memory leaks. | Tavian Barnes | 2009-10-19 | 4 | -14/+30 |
| | | | | | dmnsn_delete_pigment() was not using the free_fn, and kD splay trees were not being deleted after raytracing finished. | ||||
* | Improve garbage handling of dmnsn_delete_object(). | Tavian Barnes | 2009-10-19 | 2 | -1/+5 |
| | |||||
* | Allow custom fatal error handlers. | Tavian Barnes | 2009-10-18 | 2 | -2/+52 |
| | |||||
* | Fix ray-box intersection test. | Tavian Barnes | 2009-10-13 | 1 | -4/+4 |
| | |||||
* | Remove unused variable from dmnsn_kD_splay_search_recursive(). | Tavian Barnes | 2009-10-09 | 1 | -1/+0 |
| | |||||
* | Use kD splay trees in raytrace engine. | Tavian Barnes | 2009-10-09 | 1 | -28/+29 |
| | |||||
* | kD splay tree fixes, and new dmnsn_kD_splay_tree type. | Tavian Barnes | 2009-10-09 | 2 | -194/+167 |
| | |||||
* | kD splay tree fixes. | Tavian Barnes | 2009-10-09 | 1 | -4/+8 |
| | |||||
* | Typo fixes in kD_splay_tree.c. | Tavian Barnes | 2009-10-07 | 1 | -8/+8 |
| | |||||
* | Test object's bounding boxes too in dmnsn_kD_splay_search(). | Tavian Barnes | 2009-10-07 | 1 | -13/+30 |
| | |||||
* | Implement search for kD splay trees. | Tavian Barnes | 2009-10-07 | 3 | -72/+176 |
| | |||||
* | Add ray - bounding-box intersection test function. | Tavian Barnes | 2009-10-07 | 1 | -0/+72 |
| | |||||
* | Call kD splay children `contains' and `container'. | Tavian Barnes | 2009-10-07 | 2 | -36/+36 |
| | |||||
* | Calculate bounding boxes for spheres and cubes. | Tavian Barnes | 2009-10-06 | 1 | -0/+4 |
| | |||||
* | Fix kD splay tree rotations. | Tavian Barnes | 2009-10-06 | 1 | -21/+57 |
| | |||||
* | Implement insert for kD splay trees. | Tavian Barnes | 2009-10-05 | 3 | -0/+129 |
| | |||||
* | Add bounding boxes to objects. | Tavian Barnes | 2009-10-05 | 1 | -0/+3 |
| | |||||
* | Implement splay operation for kD splay trees. | Tavian Barnes | 2009-10-05 | 2 | -1/+59 |
| | |||||
* | Begin kD splay tree implementation. | Tavian Barnes | 2009-10-05 | 3 | -0/+142 |
| | |||||
* | Actully guarantee array allocation in dmnsn_new_array(). | Tavian Barnes | 2009-10-05 | 1 | -3/+5 |
| | |||||
* | New benchmarking suite. | Tavian Barnes | 2009-10-04 | 1 | -1/+2 |
| | |||||
* | Don't take a transformation matrix in dmnsn_new_perspective_camera(). | Tavian Barnes | 2009-07-16 | 2 | -6/+6 |
| | |||||
* | Have camera callbacks take canvas coordinates as doubles. | Tavian Barnes | 2009-07-16 | 3 | -11/+7 |
| | |||||
* | Add support for default textures. | Tavian Barnes | 2009-07-16 | 4 | -16/+42 |
| | |||||
* | Render pigments. | Tavian Barnes | 2009-07-16 | 5 | -14/+44 |
| | |||||
* | New C++ wrapper for dmnsn_texture*. | Tavian Barnes | 2009-07-16 | 4 | -10/+32 |
| | |||||
* | New dmnsn_intersection* type for ray-object intersections. | Tavian Barnes | 2009-07-16 | 3 | -53/+86 |
| | |||||
* | Add destructor callbacks for polymorphic C types, and use their base | Tavian Barnes | 2009-07-16 | 15 | -56/+53 |
| | | | | dmnsn_delete_*() function. | ||||
* | Add ability to set rendering quality. | Tavian Barnes | 2009-07-12 | 3 | -37/+47 |
| | |||||
* | Begin dmnsn_texture* type. | Tavian Barnes | 2009-07-12 | 8 | -8/+222 |
| | |||||
* | Implement removing/inserting in the middle of a dmnsn_array*. | Tavian Barnes | 2009-07-09 | 1 | -0/+28 |
| | |||||
* | Code formatting. | Tavian Barnes | 2009-07-09 | 5 | -23/+39 |
| | |||||
* | Set the _XOPEN_SOURCE feature test macro correctly in dimension.h, so | Tavian Barnes | 2009-07-09 | 1 | -0/+5 |
| | | | | that pthread.h defines pthread_rwlock_t for us. | ||||
* | New interface for background progress bars in C++ tests. | Tavian Barnes | 2009-07-09 | 1 | -1/+1 |
| | |||||
* | Update license copyrights to 2009. | Tavian Barnes | 2009-07-08 | 31 | -31/+31 |
| | |||||
* | Comments and style adjustments, and a couple fixes. | Tavian Barnes | 2009-07-08 | 16 | -27/+62 |
| | |||||
* | Make optimizer registration fail if a canvas has already been written | Tavian Barnes | 2009-07-05 | 4 | -9/+25 |
| | | | | to. | ||||
* | Remove raw X Windows interface. | Tavian Barnes | 2009-07-05 | 4 | -78/+2 |
| | |||||
* | Use "__extension__ extern __inline__" for DMNSN_INLINE in GNU C. | Tavian Barnes | 2009-07-04 | 2 | -2/+2 |
| | |||||
* | New interface for optimizing canvas conversions by registering | Tavian Barnes | 2009-07-04 | 6 | -39/+276 |
| | | | | dmnsn_set_pixel() callbacks. | ||||
* | Begin interface for writing canvases to X windows. | Tavian Barnes | 2009-07-02 | 4 | -2/+78 |
| | |||||
* | Put windowing interface in libdimension-tests. | Tavian Barnes | 2009-07-02 | 1 | -5/+5 |
| |