Commit graph

170 commits

Author SHA1 Message Date
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
3a5c6cddf9 Add max_depth parameter 2013-09-11 10:33:20 -07:00
2c23fb819e Add Materials to the shapes in the scene 2013-09-11 09:05:27 -07:00
b480e2c869 Lights need basics.h 2013-09-11 08:57:05 -07:00
c6c11ca95a Add operator*= to colors 2013-09-11 08:56:53 -07:00
51c79b9b76 Add Material class 2013-09-11 08:56:28 -07:00
aed523d457 Add lights to the scene 2013-09-11 08:38:39 -07:00
86a9c74c1e Activate point_is_on_surface() and calculate_normal() 2013-09-10 22:32:46 -07:00
6bb7689ac0 Add lights to the scene 2013-09-10 21:49:01 -07:00
14b246b6e9 Add light module 2013-09-10 21:48:49 -07:00
72c0d1475e Yay! 2013-09-10 21:04:56 -07:00
aa694e8128 Update object_sphere for C++; inherit from Shape 2013-09-10 21:04:31 -07:00
df7a8988b2 Remove scene.c 2013-09-10 21:03:29 -07:00
c9b130c121 Update main() for C++ 2013-09-10 21:02:40 -07:00
b42a756042 Basic functions can't be inline (wat); fix dot product error 2013-09-10 21:02:30 -07:00
5d8a940f30 Convert writer_png to C++; add Writer class; add PNGWriter class 2013-09-10 21:02:04 -07:00
568e3f4c55 Update scene module for C++ 2013-09-10 16:28:38 -07:00
17344bb4cd Add scene.cc to build 2013-09-10 16:28:17 -07:00
1d238d6923 Fix object_sphere.cc 2013-09-10 16:27:39 -07:00
6de49ae679 Add operator= to Vector3 and Color 2013-09-10 16:25:12 -07:00