Commit graph

139 commits

Author SHA1 Message Date
810990cbe9 Return Vector3::Zero for normal if point is not on surface of plane 2013-09-22 17:43:13 -07:00
a13ce45d39 Shift scene objects around to try to see a plane... 2013-09-22 17:42:50 -07:00
ebb9b7aab9 Shift the plane down (I think) 2013-09-22 12:13:11 -07:00
34296feeb2 Add a plane to the scene 2013-09-22 10:16:32 -07:00
d166752f22 Add object_plane.cc to the build 2013-09-22 10:16:27 -07:00
c405302613 Add operator<< overload for Object 2013-09-22 10:16:15 -07:00
c6b8b167ca Add operator<< overloads for Vector3, Ray, and Color 2013-09-22 10:15:41 -07:00
2ea0589b44 Add Planes 2013-09-22 09:58:40 -07:00
5d14a63c37 Add cross product operation to Vector3 2013-09-22 08:37:58 -07:00
a41817217a Blend specular color with reflected color 2013-09-21 17:14:47 -07:00
d5f640871c Comment about lambert shading 2013-09-21 17:06:49 -07:00
daeb052003 Don't acknowledge intersections closer than t=1e-2.
This avoids intersections with the shape itself.
2013-09-21 17:04:54 -07:00
6c1e8c7ffb Add min_weight property to Scene 2013-09-21 17:01:11 -07:00
482896cfa1 First pass at doing reflections -- splotchy... 2013-09-21 16:45:30 -07:00
58f3cdd304 Add default values for trace_ray depth and weight arguments 2013-09-21 16:45:10 -07:00
745aa27447 Add specular parameters to Material 2013-09-21 15:53:16 -07:00
90530b74ef Return Black if max depth exceeded 2013-09-21 15:42:11 -07:00
f6e92f2571 Fix compiler errors in camera module 2013-09-20 09:21:25 -07:00
746731398a Accessors for Camera attributes 2013-09-20 09:10:56 -07:00
764afab8ac Camera stuff -- empty implementations of compute_primary_ray 2013-09-20 09:10:56 -07:00
fb6920e923 Add X, Y, and Z unit vectors 2013-09-20 09:10:55 -07:00
99f98d2bf5 Add virtual destructor to Writer 2013-09-20 09:10:55 -07:00
4523671920 Forward declare Scene class in Writer 2013-09-20 09:10:43 -07:00
16a37f6fb3 Shadows! 2013-09-13 18:56:07 -07:00
3dbde9a60d Set diffuse parameters for materials 2013-09-13 18:39:31 -07:00
529b1978a6 Use diffuse parameters to compute shading 2013-09-13 18:39:23 -07:00
887233e3e4 Add diffuse parameters to Material 2013-09-13 18:39:11 -07:00
438b0734a4 Use ambient light in lighting calculations 2013-09-13 18:25:22 -07:00
3b7f672ab3 Add get_ambient() to Scene 2013-09-13 18:25:09 -07:00
fcc6f1a718 Add set_intensity; clean up PointLight constructors 2013-09-13 18:24:12 -07:00
e72374b7db Add some ambient light 2013-09-13 18:23:36 -07:00
dea1967344 Add operator overloads for Color taking Color references 2013-09-13 18:23:25 -07:00
cae8b21068 Clean up shapes and lights lists 2013-09-13 14:15:55 -07:00
fcd2781cc7 Add ambient property to Scene 2013-09-13 14:15:34 -07:00
e55828890b Add virtual destructor for Shape class 2013-09-13 14:14:45 -07:00
55ef253c10 New lighting object tree: AmbientLight -> PointLight 2013-09-13 14:14:03 -07:00
9fef3c33d2 Add RGB constructor to color 2013-09-13 14:10:52 -07:00
b631875246 Add operator== and operator!= to Vector3 2013-09-13 11:09:37 -07:00
da87ac8dd2 Add operator overloads for Colors and floats 2013-09-12 15:51:08 -07:00
4799a7fe49 Code formatting in basics 2013-09-12 15:00:26 -07:00
67cb6c9fea Implement operator overloads for Vector3 2013-09-12 14:59:33 -07:00
cc126a153e Add ray count and duration stats 2013-09-12 09:10:22 -07:00
a3bdc01d45 Compact some normalization and stuff 2013-09-11 22:11:56 -07:00
0e678938fe Move the light 2013-09-11 22:11:44 -07:00
fcde85c642 Return *this after normalizing 2013-09-11 22:07:34 -07:00
e76bf0f444 Lambert shading! 2013-09-11 22:03:50 -07:00
1e39776145 Return a normalized vector from compute_normal 2013-09-11 22:03:36 -07:00
3646fa40ab Remove the second light 2013-09-11 22:03:18 -07:00
8a1934f957 Reorder some code -- just some formatting 2013-09-11 10:35:03 -07:00
247e205827 Return material color if there was a ray intersection 2013-09-11 10:33:56 -07:00