Commit graph

104 commits

Author SHA1 Message Date
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
5a54e325f2 Image is 640x480 2013-09-08 20:46:29 -07:00
de77b9680b Three spheres 2013-09-08 20:46:22 -07:00
7524c9c3d8 Fix scene_add_object -- break out of the while loop! 2013-09-08 20:46:11 -07:00
1760170952 Fix funky scene_render code, for correctness 2013-09-08 20:38:01 -07:00
39871d33fe Fix funky PNG writer code, for correctness 2013-09-08 20:37:05 -07:00
c65f46a1fa Tweaks in basics, for correctness 2013-09-08 20:32:38 -07:00
11dc22fb8c Remove optimization for b =~ sqrt(b^2 - 4ac) 2013-09-08 18:46:51 -07:00
6e3f92e47c Comment and formatting tweaks 2013-09-08 18:28:53 -07:00
45b71f18db Move checking intersection of ray and sphere in unit tests to check_sphere_intersection 2013-09-08 18:07:30 -07:00
5129a6e545 Update object module with changes to basics 2013-09-08 18:06:40 -07:00
4e6e0610ba Add test_vector_negate 2013-09-08 18:00:41 -07:00
d2afb4e10a Add tests for add_vector, mul_scalar, and sub_vector 2013-09-08 17:58:32 -07:00
21ccba45e4 Clean up basics a bit; add vector_negate, ray_parameterize 2013-09-08 17:45:37 -07:00
0fa10c3220 Sphere intersection test 2013-09-08 15:35:58 -07:00