Commit graph

318 commits

Author SHA1 Message Date
fdd96dbc27 Print pixel progress
Not entirely convinced this is a good idea yet. It slows down rendering by almost 2x.
2014-08-02 00:51:55 -07:00
ea1fac7501 Add ctags file 2014-08-02 00:42:59 -07:00
b6d7a65ae5 Merge branch 'feature/logging' into develop 2014-08-02 00:40:52 -07:00
86a4594e7f Initialize logging based on passed in parameters 2014-08-02 00:40:38 -07:00
f8ec140f8e Do some logging in Scene 2014-08-02 00:28:02 -07:00
3ab7c92d36 Duplicate logging symbols :( 2014-08-02 00:27:50 -07:00
0346e21ebd Set the log level to trace. 2014-08-02 00:02:11 -07:00
97a172bbe9 Add logModule.hh
Defines some helper macros to make it easier to log message. Define LOG_NAME before including this file and a number of logging macros will be defined that will allow users to skip specifying the name of the log stream for each statement.
2014-08-02 00:02:01 -07:00
3a94433f5c Set global default level in Init() 2014-08-01 23:49:52 -07:00
f8c7c9c6ea Add function Tracer 2014-08-01 23:49:33 -07:00
7cfb304296 Update logging stuff in main() 2014-08-01 23:28:13 -07:00
ea6cd488a6 LOG_FOO macros to help with printing messages 2014-08-01 23:27:32 -07:00
089c4cdc73 Print milliseconds 2014-08-01 23:27:18 -07:00
627854bc20 Use logging! 2014-08-01 22:28:47 -07:00
c00afe1cd1 Rudimentary logging! 2014-08-01 22:28:41 -07:00
d2b2382c95 Include <memory> in object.h 2014-07-25 15:10:29 -07:00
bad80c9895 Scons default build target: charles 2014-07-25 13:31:09 -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