Commit graph

479 commits

Author SHA1 Message Date
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
d636a4f2ee Add comment about efficiency in vector_normalize 2013-09-08 15:18:48 -07:00
5a0d215789 Add test modules 2013-09-08 15:18:22 -07:00
ebcb67a0cc Fixing the build system again 2013-09-08 14:53:11 -07:00
f81e403b16 Revamp build system: build src and test into libs and link to make binaries 2013-09-08 13:57:05 -07:00
926247002b Add test directory to SCons 2013-09-08 12:21:24 -07:00
b1d61b5ddc Add SConscript for test 2013-09-08 12:14:36 -07:00
884c16424d Change the location and size of sphere to compensate for simplified ray generation 2013-09-08 12:09:19 -07:00
2417176f0c Change how rays are generated -- parallel to Z axis 2013-09-08 12:09:02 -07:00
4407f757e6 Initialize nearest_t to 1e8 2013-09-08 11:56:57 -07:00
d9d27e2d22 CXXFLAGS != CFLAGS 2013-09-08 11:52:53 -07:00
062074f034 Add function header comment to vector_dot() 2013-09-08 11:38:13 -07:00
8a8d63055f Ignore build/ 2013-09-08 11:37:58 -07:00
3ea6073655 Create a build dir for object files 2013-09-08 09:12:15 -07:00
8b828e45a8 Free intersection t values array after use. 2013-09-08 09:06:51 -07:00
99055ff5f4 Add an object and a texture to the scene 2013-09-08 08:45:32 -07:00
34428a764d If ray intersects shape, return the shape's color 2013-09-08 08:45:13 -07:00
ca13877c19 Add texture to objects 2013-09-07 22:22:27 -07:00
7b30584ba5 Define ColorBlack 2013-09-07 22:12:35 -07:00
e77e9488c0 Add Texture module 2013-09-07 22:12:27 -07:00
830979fc75 First object in Scene objects list is pointed to by scene->objects 2013-09-07 21:39:02 -07:00
4e3092eecc Static-ify scene_trace_ray() 2013-09-07 21:35:19 -07:00
8df7a5a6a1 Add a comment 2013-09-07 18:42:36 -07:00
c45331d79d Initial interesection test for ray tracing 2013-09-07 18:41:46 -07:00
c06fb87990 Add scene_add_object 2013-09-07 18:41:33 -07:00
a73cce8dbf Compact declaration of default color in ray trace function 2013-09-07 18:26:59 -07:00