summaryrefslogtreecommitdiff
path: root/src/modules/ray/Makefile.am
AgeCommit message (Collapse)Author
2017-12-23ray: split object render from object descriptionVito Caputo
This moves the per-object _prepared state into ray_render_object_$type structs with all the rendering-related object methods switched to operate on the new render structs. Since the current rendering code just makes all these assumptions about light objects being point lights, I've just dropped all the stuff associated with rendering light objects for now. I think it will be refactored a bit later on when the rendering code stops hard-coding the point light stuff. These changes open up the possibility of constifying the scene and constituent objects, now that rendering doesn't shove the prepared state into the embedded _prepared object substructs.
2017-12-10ray: split scene data from render stateVito Caputo
This introduces ray_render_t, and ray_render.[ch]. The _prepared member of ray_scene_t has been moved to ray_render_t, and the other _prepared members (e.g. objects) will follow. Up until now I've just been sticking the precomputed state under _prepared members of their associated structures, and simply using convention to enforce anything resembling an api boundary. It's been convenient without being inefficient, but I'd like to move the ray code into more of a reusable library and this wart needs to be addressed. The render state is also where any spatial indexes will be built and maintained, another thing I've been experimenting with. Note most of the churn here is just renaming ray_scene.c to ray_render.c. A nearly global s/ray_scene/ray_render/ has occurred, now that ray_scene_t really only serves as glue to bind objects, lights, and scene-global properties into a cohesive unit.
2017-05-27ray: inline ray_object_* switch functionsVito Caputo
2017-04-27*: remove vestigial module/${module}/${module}.hVito Caputo
Prior to rototiller_module_t these headers were included and the module-specific render functions called directly. That's no longer the case, these files are irrelevant today.
2017-04-22ray: remove vestigial ray_threads codeVito Caputo
Now that rototiller is generally threaded when a prepare_frame() method is supplied, and modules/ray has been updated accordingly, discard the now redundant ray-specific threading code and related stuff.
2017-02-10ray: implement all orders in ray_euler_basis()Vito Caputo
Originally I only implemented pitch->yaw->roll, and being new to all this didn't fully appreciate the limitation that resulted in. This adds all six permutations of pitch/yaw/roll, the scene must specify the desired order when setting up the camera with the euler angles, see the enum in ray_euler.h.
2017-01-18autotools: s#../../#@top_srcdir@/src#Vito Caputo
The relative path broke out-of-tree builds. Previously the following: $ mkdir /tmp/foo $ cd /tmp/foo $ ~/src/rototiller/configure $ make Would fail to compile unable to locate the headers in ~/rototiller/src This fixes it.
2017-01-18*: move source into src/ subdirVito Caputo
Restoring some organizational sanity since adopting autotools.
© All Rights Reserved