implemented reflections
commitbf9d649a80704a6838cf3c3301cf5aeb96d63ae3
authorplouj <plouj@b8c14938-b733-429d-887c-d66ed1f8cd15>
Tue, 15 Jan 2008 03:52:31 +0000 (15 03:52 +0000)
committerplouj <plouj@b8c14938-b733-429d-887c-d66ed1f8cd15>
Tue, 15 Jan 2008 03:52:31 +0000 (15 03:52 +0000)
tree62a5ac89918f1dcb783840f5ee753e40f6183216
parent9a30e02120136d70c99d803236bf861549abf1dd
implemented reflections
added more things TODO that I forgot about
added a reflectivity property to the material record
added a triangle shape record
added a recursion depth argument to raytraced_pixel_list, trace_ray_from_pixel and lighting_function
refactored the body of trace_ray_from_pixel into pixel_colour_from_ray function for which can be called recursively to a given depth
added a reflection term to the illumination model in lighting_function
added a triangle object case to ray_objec_intersect
added an epsilon to ray_sphere_intersect to deal with floating point inaccuracy and tracing reflected rays
stubbed ray_triangle_intersect
added a vector_reflect_about_normal function and test
added an object_reflectivity function
added reflectivity properties to the objects in the default scene
moved the blue sphere in the default sphere to make reflections on it more visible
added a triangle to the default scene
updated the scene test
set a default recursion depth to 3
commented out the tests that aren't supposed to pass yet

git-svn-id: http://svn.plouj.com/repos/eraytracer@31 b8c14938-b733-429d-887c-d66ed1f8cd15
raytracer.erl