Commit graph

136 commits

Author SHA1 Message Date
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
6fcfcd09b5 Add div and length tests for Vector3 2013-09-13 11:14:34 -07:00
25e7ed2b21 Add a bunch of tests for Vector3 2013-09-13 11:10:07 -07:00
b631875246 Add operator== and operator!= to Vector3 2013-09-13 11:09:37 -07:00
a5fd16e5b3 Build test with gtest, correctly 2013-09-13 11:09:20 -07:00
e8a6099158 Move main() and test code for basics to C++ 2013-09-12 16:16:29 -07:00
6be100e28a Update testing makefile 2013-09-12 15:54:17 -07:00
da87ac8dd2 Add operator overloads for Colors and floats 2013-09-12 15:51:08 -07:00
d9a8920cdf Add gtest 2013-09-12 15:50:40 -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
e5601e7f43 Define constructors for Object and Shape; move a bunch of Sphere code to object_sphere 2013-09-10 15:45:13 -07:00
f062efc349 Make Vector3 methods const 2013-09-10 15:34:08 -07:00
68a4855edf Add object.cc and object_sphere.cc to SConscript 2013-09-10 09:34:32 -07:00
249f77e6cf Add object_sphere.h 2013-09-10 09:34:15 -07:00