c3a19f7d2e
Fix duplicate SequenceStyle enum (use MappingStyle)
2014-07-25 08:55:31 -07:00
74757c618c
Include <memory> for Parser::Ptr
2014-07-25 08:55:11 -07:00
d464cc328e
Type clean up: ParserStack -> Stack
2014-07-24 08:28:05 -07:00
2fb555e253
Fully define methods to handle parser events
...
HandleFoo() takes parameters for all the data provided in the event struct. Getting data into my YAML parser thus has no dependency on the format of data in libyaml.
Maybe this is a good thing?
2014-07-24 08:24:10 -07:00
6a9c1e87e2
Ignore *.log files
2014-07-24 08:05:03 -07:00
900c667994
Couple more scenes to test coordinate grids
2014-07-24 08:03:13 -07:00
63bb28a94a
Push tNear and tFar onto t&, rather than t0 and t1
2014-07-23 07:39:55 -07:00
2b9d3a3824
Add a new scene with a single unit-box at the origin
2014-07-22 21:40:39 -07:00
f5f47f5a9a
Print number of objects in the scene before rendering
2014-07-22 21:40:25 -07:00
deff3079b8
Update ObjectParser for boxes
...
ObjectParser's constructor takes the tag value, which determines the type of object constructed.
ObjectParser adds "near" and "far" sections for boxes.
2014-07-22 21:40:13 -07:00
b878db592c
Getters and setters for Near and Far vectors
2014-07-22 21:37:49 -07:00
15db0c42d4
Box objects, parallel to the coordinate axes
...
This change implements Kay-Kajiya intersection (with slabs) too!
2014-07-22 20:46:47 -07:00
d69d708b31
Convert Vector3 to use Doubles
2014-07-22 20:46:10 -07:00
1d22e27d81
Specify object types in threeSpheres.yml
...
These don't actually do anything yet, but I'd like to get this going once I start
adding more object types.
2014-07-20 16:55:52 -07:00
6f844f7c2a
Update ObjectParser for new code style...
2014-07-20 16:55:26 -07:00
5a8d634590
Update Scene a bit for new code style and namespaces in Object and Sphere
2014-07-20 16:54:10 -07:00
cf7806484f
Some generic, useful types
...
- Double -> double
- DoubleVector -> std::vector<Double>
- TVector -> DoubleVector
2014-07-20 16:53:39 -07:00
e5cb9be1aa
Don't include or build object_plane.{cc,h} because it hasn't been updated and it doesn't work.
2014-07-20 16:53:03 -07:00
c185a24f34
Define shared_ptr<Sphere> as Sphere::Ptr
2014-07-20 16:51:58 -07:00
12f180a3de
Light implements its own origin
2014-07-20 16:51:20 -07:00
19aeb7b14e
Update Sphere to inherit from Object
...
- Had to do a couple updates here to adapt to the new code style...
- Update DoesIntersect for code style and to pass back t values in the vector
instead of the float array.
2014-07-20 16:49:55 -07:00
2036521f42
Update code style for Object
...
- Remove Shape, because it seems to be mostly extra. All renderable objects now
derive from Object, rather than Shape
- Light (which inherited from Object before) now defines its own origin, but
this is coming in a later commit...
- Use charles namespace
- Use a std::vector<double> instead of float** to pass back intersection points.
This is kind of a biggie because it made the render process 50% slower :( I'll
have to work out why and maybe fix it...
2014-07-20 16:48:09 -07:00
ac8421b5e1
Update code style for Material objects
2014-07-20 16:45:40 -07:00
0d2011931c
Account all types of rays -- print them at the end
2014-07-20 14:21:12 -07:00
c65c6a3cfd
Use shared_ptr for Scene::mCamera
...
Makes memory management a bit easier...
2014-07-20 12:37:31 -07:00
c564791d1a
Camera doesn't inherit from Object; defines its own origin.
2014-07-20 12:37:04 -07:00
709453adcb
Fix a comment about Camera::mUp
2014-07-20 12:19:59 -07:00
06c2986280
Don't duplicate build files
...
Turns out keeping files in place, instead of symlinking or hard linking into
build/ means that Xcode can actually break on files in src/. This is cool!
There's still a problem with Xcode not getting appropriate type information
though.
2014-07-20 12:17:55 -07:00
6ed121a039
Some notes
2014-07-20 08:36:46 -07:00
ea43af46ba
charles.hh – defines extern'd verbosity
2014-07-19 21:20:50 -07:00
54ab0d6641
Fix aspect ratio of the three-spheres scene
2014-07-19 21:19:32 -07:00
54796a74b7
Notify end-of-section after camera stuff
2014-07-19 21:12:45 -07:00
4d5796e6e7
Parse the camera section of a scene
2014-07-19 21:00:34 -07:00
eaabdfddc0
OHGOD TABS WERE HERE INSTEAD OF SPACES
2014-07-19 21:00:15 -07:00
e2b5ffaf6c
Fixing up CameraParser
...
- Compiler errors
- Coulple name tweaks
- Headers
2014-07-19 20:59:48 -07:00
3ec5b20f16
Rename Scene::camera -> mCamera
2014-07-19 20:57:12 -07:00
6f04526d36
Default and copy constructors for Perspective and Orthographic cameras
2014-07-19 20:56:47 -07:00
672ff82e03
add cameraParser.cc to the build
2014-07-19 17:25:54 -07:00
b85abacd26
Move camera_parser -> cameraParser
2014-07-19 17:25:17 -07:00
b85a6aed7b
Bit more clean up of cameras
2014-07-19 17:24:52 -07:00
b03ad0ac2d
Add CameraParser
2014-07-19 17:24:28 -07:00
76a13e61de
Update call sites and instantiation for Vector3 and Color parsers
2014-07-19 17:19:54 -07:00
2c4f6a4d29
Some more helpful utility parsers
...
- Rename VectorParser -> ScalarSequenceParser
- Add Vector3Parser and ColorParser, subclasses of the above, which handle
Vector3s and Colors
2014-07-19 17:17:33 -07:00
daf5c7d8a6
Clean up camera module
2014-07-19 16:30:26 -07:00
41327c92fd
Remove a bunch of debugging printfs and add verbosity levels
2014-07-19 16:04:47 -07:00
17df0d4adf
Add "Three Spheres" scene
2014-07-19 15:53:47 -07:00
1eff46006a
Comment out adding objects from main() – they come from YAML now!! :D
2014-07-19 15:46:38 -07:00
575ed822b4
Set shouldExpectKey after finishing radius; clean up asserts in ObjectParser
2014-07-19 15:46:06 -07:00
0ed3b524f4
Print all events; properly handle document and mapping-start events from top-level run loop
2014-07-19 15:45:04 -07:00
523eaef902
ScalarMappingParser::mShouldExpectKey should be true to start/end the top-level mapping
2014-07-19 15:44:29 -07:00