Commit graph

168 commits

Author SHA1 Message Date
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
2d66ba0945 Move Sphere::does_intersect to object_sphere; fill out object_sphere in C++ 2013-09-10 09:33:59 -07:00
a02e31952e Update object.cc for C++ 2013-09-10 09:18:05 -07:00
6ad2f16acd Comments for basics! 2013-09-09 23:03:41 -07:00
08b10bba19 const char * in charles.cc 2013-09-09 22:51:55 -07:00
4e28c26cc9 Update SConscript with .cc files 2013-09-09 22:51:10 -07:00
a4a6dc8589 Move .cpp to .cc 2013-09-09 22:50:41 -07:00
3006c6a8bc Convert charles.c to C++ 2013-09-09 22:48:52 -07:00
b973003a6b Convert basics to C++ 2013-09-09 22:47:19 -07:00
86a5055d63 Add CXXCOMSTR; add -std= options to CFLAGS and CXXFLAGS 2013-09-09 22:37:44 -07:00
ebc561e415 Modify SConstruct for C++ 2013-09-09 21:45:25 -07:00
f80b580017 Play with the dot product test -- it wasn't sufficient to catch an error >_< 2013-09-09 09:06:19 -07:00
07c70b2bc7 Initialize ray before testing intersection 2013-09-09 09:03:07 -07:00
ee536de7dc Add tests for sphere_point_lies_on_surface and sphere_compute_normal 2013-09-09 08:53:19 -07:00
600f93b908 Use test_assert_within_epsilon for testing floating point equality 2013-09-09 08:53:05 -07:00
13ca9abc53 Add test_asserts module 2013-09-09 08:52:35 -07:00
bfb1a1b3d5 Add sphere_point_lies_on_surface and sphere_compute_normal 2013-09-09 08:52:14 -07:00
ca2a5c1b3b Use INFINITY for nearest_t 2013-09-08 21:08:52 -07:00
a644539fd3 TODO: Lighting 2013-09-08 20:52:57 -07:00