Commit graph

170 commits

Author SHA1 Message Date
5517aadb0a Remove prints from SConscript 2014-07-18 21:27:17 -07:00
e7b9ee8257 Reformat some comments 2014-07-17 20:17:17 -07:00
c429be330d Reset SceneParser::mSection after parsing dimensions vector 2014-07-17 20:15:44 -07:00
87c544cec7 '%lf' for doubles, not '%ld' 2014-07-17 20:15:20 -07:00
6ff108f360 Implement ObjectParser 2014-07-17 20:14:52 -07:00
2a6f72f511 Use new coordinates to place spheres with the perspective camera
It works!
2014-07-16 23:33:37 -07:00
25b246d3ed Use the PerspectiveCamera to generate primary rays. 2014-07-16 23:32:44 -07:00
899064ce42 Add a perspective camera
Finally! :D Verified (mostly) and carefully thought through by looking at the
Pov-Ray code and doing the linear algebra by hand. Fun times.
2014-07-16 23:31:39 -07:00
360bc52080 I don't really know if this is correct; I have not verified it 2014-07-16 23:30:25 -07:00
0e1106aa41 Update the call signature of compute_primary_ray
It takes the current X and Y coordinates and the height and width of the image.
2014-07-16 23:29:54 -07:00
05327fbe7a Missed a few things when I…
- Removed the (viewing) angle member
- Added Up and Right vectors
2014-07-16 23:29:01 -07:00
72e93eccb3 Reformat description of OrthographicCamera::compute_primary_ray 2014-07-16 23:26:41 -07:00
8eb98270af Add Up and Right vectors to the camera 2014-07-16 23:25:54 -07:00
8336753bcf Remove pixel dimensions from camera
The scene computes those and gives them to the camera for each ray
2014-07-16 23:24:32 -07:00
ca5cabb6ef Add LinearCombination for Vectors 2014-07-16 23:23:26 -07:00
2834fa45c6 Replace dimensions code in SceneParser with a few lines of VectorParser magic
Neat!
2014-07-15 23:33:02 -07:00
bdd0afddf5 Define format strings for int and double ParseScalar() methods 2014-07-15 23:32:20 -07:00
b8d0b274b1 Implement templated VectorParser 2014-07-15 23:31:48 -07:00
d12f8c9fa6 Define ParseScalar<T> and ParseScalarTraits
For parsing single YAML scalar values into C++ datatypes (mostly ints and doubles).
2014-07-15 23:28:59 -07:00
557d9a047f Define the Notify() method on UtilityParser 2014-07-15 23:27:24 -07:00
d20e4154fe Big YAML parser cleanup 2014-07-15 17:27:27 -07:00
687de91a81 Quick 'n dirty setters for height and width 2014-07-13 20:12:10 -07:00
f59ec98035 HOLY CRAP I CAN READ DIMENSIONS FROM YAML FILES 2014-07-13 20:11:50 -07:00
6a8bcc4973 Add back a bunch of the programatic scene stuff 2014-07-13 20:11:37 -07:00
3687029bcd Parse YAML files in main() 2014-07-13 18:06:21 -07:00
b4327303ee Add YAML reader 2014-07-13 18:06:03 -07:00
dfd57da14f Correcting some build problems with old-style SConscripts 2014-07-13 09:23:42 -07:00
391251940b Merge remote-tracking branch 'base/master' into develop
Conflicts:
	.gitignore
	SConstruct
	src/SConscript
	test/SConscript
2014-07-13 08:24:16 -07:00
3ddfd94dfa No planes 2014-07-13 07:43:18 -07:00
2134f6a013 Basic template SConscript 2014-01-30 15:13:54 -08:00
85213b6f50 Add empty src/SConscript 2014-01-30 14:08:20 -08:00
810990cbe9 Return Vector3::Zero for normal if point is not on surface of plane 2013-09-22 17:43:13 -07:00
a13ce45d39 Shift scene objects around to try to see a plane... 2013-09-22 17:42:50 -07:00
ebb9b7aab9 Shift the plane down (I think) 2013-09-22 12:13:11 -07:00
34296feeb2 Add a plane to the scene 2013-09-22 10:16:32 -07:00
d166752f22 Add object_plane.cc to the build 2013-09-22 10:16:27 -07:00
c405302613 Add operator<< overload for Object 2013-09-22 10:16:15 -07:00
c6b8b167ca Add operator<< overloads for Vector3, Ray, and Color 2013-09-22 10:15:41 -07:00
2ea0589b44 Add Planes 2013-09-22 09:58:40 -07:00
5d14a63c37 Add cross product operation to Vector3 2013-09-22 08:37:58 -07:00
a41817217a Blend specular color with reflected color 2013-09-21 17:14:47 -07:00
d5f640871c Comment about lambert shading 2013-09-21 17:06:49 -07:00
daeb052003 Don't acknowledge intersections closer than t=1e-2.
This avoids intersections with the shape itself.
2013-09-21 17:04:54 -07:00
6c1e8c7ffb Add min_weight property to Scene 2013-09-21 17:01:11 -07:00
482896cfa1 First pass at doing reflections -- splotchy... 2013-09-21 16:45:30 -07:00
58f3cdd304 Add default values for trace_ray depth and weight arguments 2013-09-21 16:45:10 -07:00
745aa27447 Add specular parameters to Material 2013-09-21 15:53:16 -07:00
90530b74ef Return Black if max depth exceeded 2013-09-21 15:42:11 -07:00
f6e92f2571 Fix compiler errors in camera module 2013-09-20 09:21:25 -07:00
746731398a Accessors for Camera attributes 2013-09-20 09:10:56 -07:00