Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make finish callback a propper BRDF. | Tavian Barnes | 2009-11-17 | 4 | -31/+52 |
| | |||||
* | Use "diffuse" instead of "specular" for diffuse finish. | Tavian Barnes | 2009-11-17 | 2 | -6/+6 |
| | |||||
* | PGO build improvements. | Tavian Barnes | 2009-11-13 | 1 | -3/+13 |
| | |||||
* | Implement profile-guided optimization builds. | Tavian Barnes | 2009-11-12 | 1 | -0/+9 |
| | |||||
* | Make dmnsn_illuminate_color() work, with sRGB for now. | Tavian Barnes | 2009-11-11 | 1 | -20/+7 |
| | |||||
* | Raytrace one row of pixels per thread. | Tavian Barnes | 2009-11-09 | 1 | -5/+2 |
| | | | | | | The theory is that if the next ray shot is closer to the previous ray, the k-D splay tree will work better because we're more likely to hit the same object. | ||||
* | Correct dmnsn_color_illuminate(). | Tavian Barnes | 2009-11-09 | 2 | -11/+19 |
| | |||||
* | Use finishes. | Tavian Barnes | 2009-11-09 | 4 | -65/+101 |
| | |||||
* | Add support for finishes (BRDFs). | Tavian Barnes | 2009-11-09 | 6 | -3/+129 |
| | |||||
* | Calculate surface normals in intersection callbacks. | Tavian Barnes | 2009-11-09 | 4 | -11/+23 |
| | |||||
* | Render multiple (or zero) lights correctly. | Tavian Barnes | 2009-11-09 | 1 | -1/+2 |
| | |||||
* | Store inverse object transformation in a separate field. | Tavian Barnes | 2009-11-09 | 2 | -13/+14 |
| | |||||
* | Remove unused variable. | Tavian Barnes | 2009-11-09 | 1 | -1/+0 |
| | |||||
* | Rudimentary light/shadow handling. | Tavian Barnes | 2009-11-09 | 4 | -21/+108 |
| | |||||
* | Make dmnsn_delete_scene() delete the scene's elements too. | Tavian Barnes | 2009-11-09 | 1 | -0/+17 |
| | |||||
* | Add lights to scenes. | Tavian Barnes | 2009-11-09 | 2 | -6/+12 |
| | |||||
* | Add support for lights. | Tavian Barnes | 2009-11-09 | 6 | -1/+183 |
| | |||||
* | Make default fatal error handler nicer. | Tavian Barnes | 2009-11-05 | 1 | -2/+27 |
| | | | | If we can, only exit the current thread, and print a backtrace. | ||||
* | Fix dmnsn_kD_splay_node_swallow() typo. | Tavian Barnes | 2009-10-30 | 1 | -4/+4 |
| | |||||
* | Don't flip optimized PNG writes. | Tavian Barnes | 2009-10-30 | 1 | -2/+3 |
| | |||||
* | 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 |
| |