Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Precompute objects in dmnsn_raytrace_scene() rather than dmnsn_new_prtree(). | Tavian Barnes | 2010-05-30 | 1 | -0/+6 |
| | |||||
* | New dmnsn_new_thread() function. | Tavian Barnes | 2010-05-09 | 1 | -23/+11 |
| | | | | | | | 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. | ||||
* | New DMNSN_ARRAY_FOREACH() macro, faster than iterating with dmnsn_array_get(). | Tavian Barnes | 2010-05-08 | 1 | -7/+3 |
| | |||||
* | Use C99 for loop initializers. | Tavian Barnes | 2010-05-05 | 1 | -13/+9 |
| | |||||
* | Replace BVSTs with priority R-trees. | Tavian Barnes | 2010-05-05 | 1 | -21/+10 |
| | |||||
* | Fix some includes. | Tavian Barnes | 2010-04-27 | 1 | -0/+1 |
| | |||||
* | Don't render transparent shadows with transparency off. | Tavian Barnes | 2010-04-17 | 1 | -1/+2 |
| | |||||
* | Remove a bunch of errno.h includes. | Tavian Barnes | 2010-04-13 | 1 | -1/+0 |
| | |||||
* | Fix low-quality renders. | Tavian Barnes | 2010-04-11 | 1 | -0/+2 |
| | |||||
* | Don't use dynamic memory for dmnsn_intersection's. | Tavian Barnes | 2010-04-07 | 1 | -14/+10 |
| | | | | Drops us from ~400,000 allocs to ~1000. Oops ><. | ||||
* | New dmnsn_malloc() function, and friends. | Tavian Barnes | 2010-04-07 | 1 | -88/+37 |
| | | | | | | I'm tired of checking for malloc failures everywhere, considering it never happens. So just bail out whenever it does. A lot of stuff is guaranteed to succeed if it returns now. | ||||
* | Set errno on failures. | Tavian Barnes | 2010-04-01 | 1 | -3/+11 |
| | |||||
* | Make float equality comparisons more relaxed. | Tavian Barnes | 2010-03-19 | 1 | -13/+0 |
| | |||||
* | Rename dmnsn_bvst_copy() to dmnsn_copy_bvst(). | Tavian Barnes | 2010-03-16 | 1 | -1/+1 |
| | |||||
* | Handle nested refractive objects correctly. | Tavian Barnes | 2010-03-02 | 1 | -11/+24 |
| | |||||
* | Implement refraction. | Tavian Barnes | 2010-02-25 | 1 | -5/+39 |
| | |||||
* | Point the normal vectors away from the object. | Tavian Barnes | 2010-02-25 | 1 | -1/+2 |
| | |||||
* | Determine nthreads in dmnsn_new_scene(). | Tavian Barnes | 2010-02-23 | 1 | -10/+5 |
| | |||||
* | Rename `limit' scene field to `reclimit'. | Tavian Barnes | 2010-02-23 | 1 | -8/+8 |
| | |||||
* | Use standard C for texture callback macros. | Tavian Barnes | 2010-01-18 | 1 | -28/+25 |
| | |||||
* | Rename kD splay trees to Bounding Volume Splay Trees. | Tavian Barnes | 2010-01-15 | 1 | -20/+17 |
| | |||||
* | Don't reflect transparent colors. | Tavian Barnes | 2010-01-14 | 1 | -0/+2 |
| | |||||
* | Finally proper translucency semantics. | Tavian Barnes | 2010-01-14 | 1 | -43/+42 |
| | |||||
* | Collapse some repeated work in raytracing. | Tavian Barnes | 2010-01-14 | 1 | -18/+18 |
| | |||||
* | Make number of raytracing worker threads configurable. | Tavian Barnes | 2010-01-14 | 1 | -6/+8 |
| | |||||
* | Match POV-Ray transparency semantics a bit better. | Tavian Barnes | 2010-01-14 | 1 | -2/+1 |
| | |||||
* | Fold repeated dmnsn_line_point() calls. | Tavian Barnes | 2010-01-13 | 1 | -19/+11 |
| | |||||
* | Implement proper texture overloading. | Tavian Barnes | 2010-01-13 | 1 | -71/+48 |
| | |||||
* | Clean up internal raytracing API a bit. | Tavian Barnes | 2010-01-13 | 1 | -13/+9 |
| | |||||
* | Split finish_fn into diffuse_fn and specular_fn. | Tavian Barnes | 2010-01-13 | 1 | -5/+14 |
| | |||||
* | Implement reflection. | Tavian Barnes | 2010-01-09 | 1 | -44/+100 |
| | |||||
* | Make recursion limit a scene parameter. | Tavian Barnes | 2010-01-08 | 1 | -18/+18 |
| | |||||
* | Modularize translucency. | Tavian Barnes | 2010-01-08 | 1 | -28/+32 |
| | |||||
* | Kill DMNSN_RENDER_OBJECTS. | Tavian Barnes | 2010-01-08 | 1 | -1/+1 |
| | |||||
* | Clean up internal raytracing API a bit. | Tavian Barnes | 2010-01-07 | 1 | -60/+74 |
| | |||||
* | Limit recursion depth in raytracing. | Tavian Barnes | 2010-01-06 | 1 | -9/+20 |
| | |||||
* | Make quality settings into flags. | Tavian Barnes | 2010-01-06 | 1 | -6/+6 |
| | |||||
* | Separate finishes into single-purpose finishes. | Tavian Barnes | 2009-12-23 | 1 | -3/+5 |
| | |||||
* | Fix progress calculation in raytracing. | Tavian Barnes | 2009-11-20 | 1 | -1/+1 |
| | |||||
* | Use dmnsn_new_*() rather than dmnsn_*_construct(). | Tavian Barnes | 2009-11-19 | 1 | -6/+3 |
| | |||||
* | Refactor raytrace.c a bit. | Tavian Barnes | 2009-11-19 | 1 | -56/+81 |
| | |||||
* | Implement translucency with shadows. | Tavian Barnes | 2009-11-19 | 1 | -10/+35 |
| | |||||
* | Translucency support. | Tavian Barnes | 2009-11-18 | 1 | -29/+67 |
| | |||||
* | Make finish callback a propper BRDF. | Tavian Barnes | 2009-11-17 | 1 | -24/+31 |
| | |||||
* | 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 | 1 | -1/+1 |
| | |||||
* | Use finishes. | Tavian Barnes | 2009-11-09 | 1 | -61/+92 |
| | |||||
* | Calculate surface normals in intersection callbacks. | Tavian Barnes | 2009-11-09 | 1 | -8/+1 |
| | |||||
* | Render multiple (or zero) lights correctly. | Tavian Barnes | 2009-11-09 | 1 | -1/+2 |
| | |||||
* | Rudimentary light/shadow handling. | Tavian Barnes | 2009-11-09 | 1 | -9/+57 |
| |