Commit graph

213 commits

Author SHA1 Message Date
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
9d6c293cad Set is_rendered flag after scene rendering completes. 2013-09-07 16:10:29 -07:00
9ad6bb7656 Fix PNG writing... yay! 2013-09-07 16:09:50 -07:00
8d51a521bb Add object module 2013-09-07 16:09:19 -07:00
9c01ba8811 Write the scene in writer_png
- Add pixels to Scene struct
2013-09-06 23:04:30 -07:00
4e27e4e960 Color is three unit8_t's instead of three floats 2013-09-06 23:03:25 -07:00
1f2e7c97d6 Add writer_png module 2013-09-06 22:00:04 -07:00
079ae98c9e Add a Ray object; initial bits of the tracer 2013-09-06 21:15:56 -07:00