Commit graph

170 commits

Author SHA1 Message Date
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
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
5129a6e545 Update object module with changes to basics 2013-09-08 18:06:40 -07:00
21ccba45e4 Clean up basics a bit; add vector_negate, ray_parameterize 2013-09-08 17:45:37 -07:00
d636a4f2ee Add comment about efficiency in vector_normalize 2013-09-08 15:18:48 -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
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
062074f034 Add function header comment to vector_dot() 2013-09-08 11:38:13 -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
974ebd6ccd Add sphere intersection function 2013-09-07 18:26:32 -07:00
0c050734c7 Add vector_sub_vector and vector_dot to basics 2013-09-07 18:26:05 -07:00
cee4113f6a Remove basics include from scene.h 2013-09-07 16:48:57 -07:00
da3aa51f1b Code for objects and spheres 2013-09-07 16:48:50 -07:00
b4cc32a196 Add ObjectList struct 2013-09-07 16:10:50 -07:00
dc558c016b Basic driver for the ray tracer 2013-09-07 16:10:42 -07:00