summaryrefslogtreecommitdiffstats
path: root/libdimension
Commit message (Collapse)AuthorAgeFilesLines
...
* Raytrace one row of pixels per thread.Tavian Barnes2009-11-091-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 Barnes2009-11-092-11/+19
|
* Use finishes.Tavian Barnes2009-11-094-65/+101
|
* Add support for finishes (BRDFs).Tavian Barnes2009-11-096-3/+129
|
* Calculate surface normals in intersection callbacks.Tavian Barnes2009-11-094-11/+23
|
* Render multiple (or zero) lights correctly.Tavian Barnes2009-11-091-1/+2
|
* Store inverse object transformation in a separate field.Tavian Barnes2009-11-092-13/+14
|
* Remove unused variable.Tavian Barnes2009-11-091-1/+0
|
* Rudimentary light/shadow handling.Tavian Barnes2009-11-094-21/+108
|
* Make dmnsn_delete_scene() delete the scene's elements too.Tavian Barnes2009-11-091-0/+17
|
* Add lights to scenes.Tavian Barnes2009-11-092-6/+12
|
* Add support for lights.Tavian Barnes2009-11-096-1/+183
|
* Make default fatal error handler nicer.Tavian Barnes2009-11-051-2/+27
| | | | If we can, only exit the current thread, and print a backtrace.
* Fix dmnsn_kD_splay_node_swallow() typo.Tavian Barnes2009-10-301-4/+4
|
* Don't flip optimized PNG writes.Tavian Barnes2009-10-301-2/+3
|
* Make sure we die on critical dmnsn_error()'s.Tavian Barnes2009-10-291-0/+2
|
* Major dmnsn_kD_splay_search() optimization.Tavian Barnes2009-10-261-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 Barnes2009-10-264-64/+37
| | | | | Rather than special-case every failed memory allocation, just make dmnsn_delete_*() more robust and call it.
* Delete empty cube.c.Tavian Barnes2009-10-261-23/+0
|
* Call dmnsn_done_progress() later in dmnsn_finish_progress().Tavian Barnes2009-10-261-3/+2
|
* Don't check if it's too late to add canvas optimizers.Tavian Barnes2009-10-264-26/+6
| | | | This fixes some errors displayed by concurrency checkers like helgrind and drd.
* Fix some concurrency mistakes.Tavian Barnes2009-10-262-12/+31
| | | | TODO: eliminate the too_late field on canvases.
* More memory handling improvements.Tavian Barnes2009-10-201-0/+2
|
* Fix some memory leaks.Tavian Barnes2009-10-194-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 Barnes2009-10-192-1/+5
|
* Allow custom fatal error handlers.Tavian Barnes2009-10-182-2/+52
|
* Fix ray-box intersection test.Tavian Barnes2009-10-131-4/+4
|
* Remove unused variable from dmnsn_kD_splay_search_recursive().Tavian Barnes2009-10-091-1/+0
|
* Use kD splay trees in raytrace engine.Tavian Barnes2009-10-091-28/+29
|
* kD splay tree fixes, and new dmnsn_kD_splay_tree type.Tavian Barnes2009-10-092-194/+167
|
* kD splay tree fixes.Tavian Barnes2009-10-091-4/+8
|
* Typo fixes in kD_splay_tree.c.Tavian Barnes2009-10-071-8/+8
|
* Test object's bounding boxes too in dmnsn_kD_splay_search().Tavian Barnes2009-10-071-13/+30
|
* Implement search for kD splay trees.Tavian Barnes2009-10-073-72/+176
|
* Add ray - bounding-box intersection test function.Tavian Barnes2009-10-071-0/+72
|
* Call kD splay children `contains' and `container'.Tavian Barnes2009-10-072-36/+36
|
* Calculate bounding boxes for spheres and cubes.Tavian Barnes2009-10-061-0/+4
|
* Fix kD splay tree rotations.Tavian Barnes2009-10-061-21/+57
|
* Implement insert for kD splay trees.Tavian Barnes2009-10-053-0/+129
|
* Add bounding boxes to objects.Tavian Barnes2009-10-051-0/+3
|
* Implement splay operation for kD splay trees.Tavian Barnes2009-10-052-1/+59
|
* Begin kD splay tree implementation.Tavian Barnes2009-10-053-0/+142
|
* Actully guarantee array allocation in dmnsn_new_array().Tavian Barnes2009-10-051-3/+5
|
* New benchmarking suite.Tavian Barnes2009-10-041-1/+2
|
* Don't take a transformation matrix in dmnsn_new_perspective_camera().Tavian Barnes2009-07-162-6/+6
|
* Have camera callbacks take canvas coordinates as doubles.Tavian Barnes2009-07-163-11/+7
|
* Add support for default textures.Tavian Barnes2009-07-164-16/+42
|
* Render pigments.Tavian Barnes2009-07-165-14/+44
|
* New C++ wrapper for dmnsn_texture*.Tavian Barnes2009-07-164-10/+32
|
* New dmnsn_intersection* type for ray-object intersections.Tavian Barnes2009-07-163-53/+86
|