Commit graph

479 commits

Author SHA1 Message Date
7d4acc28e4 Add a scene file with some vector expressions
Something for yamldumper to munch on. No actual vectors variables defined yet, though.
2014-08-22 07:34:42 -07:00
291d4a6831 [yamldumper] Print the scalar value 2014-08-21 09:02:11 -07:00
5bcefd128c Print time it took to parse scene file 2014-08-20 10:36:49 -07:00
36a7954df4 Add yamldumper utility
Just dumps YAML parser events to the console. Handy for a few things I'm pondering...
2014-08-20 10:36:34 -07:00
1e73d839f3 Get rid of some dead code in reader_yaml.cc 2014-08-20 10:08:08 -07:00
0ab3e17467 Objects need to be translated by their negation
Translating by the negation of the given vector puts them in the right place from the ray's perspective. Without the negation, things are mirrored.
2014-08-20 10:06:22 -07:00
301f5ff9aa Use ToObjectSpace and FromObjectSpace for ray components 2014-08-20 10:05:17 -07:00
07e75c663d Convert normal from object to world space
Properly doing this is a bit more complicated because it has to be normalized and pointing in the right direction. Just applying the inverse of the transform matrix doesn't quite do it.
2014-08-20 10:04:38 -07:00
cb0933ab51 threeSpheres.yml should be 800x600 2014-08-18 09:04:40 -07:00
6706623d6f Manually initialize Vector4 instead of using bzero 2014-08-18 09:04:26 -07:00
df5e4fe049 Initialize Camera::mOrigin
Whoops...
2014-08-18 09:04:11 -07:00
7c12a8bc2b Return a Color by value from Light::Contribution() 2014-08-18 09:02:13 -07:00
917b74003a Declare overrides for Box methods 2014-08-16 20:45:06 -07:00
db2804ac17 Merge branch 'feature/transform-matrix' into develop 2014-08-16 20:36:35 -07:00
0a43eb81aa Explicitly declare overrides in Sphere 2014-08-16 20:36:02 -07:00
791fdaa14a Use the Vector4 version of Matrix4::Translation for object origins 2014-08-16 20:35:49 -07:00
d518d282d4 Notes in Matrix4 about using std::copy
Not entirely sure what it does, but it's standard C++… :shrugs:
2014-08-16 20:35:01 -07:00
10195c607c operator<< for pretty-printing an entire Matrix4 2014-08-16 16:57:58 -07:00
09c5e29f63 Add a vector translation multiplication test 2014-08-16 16:57:08 -07:00
22297da809 Add includes to testObject.cc
No unit tests for objects yet...
2014-08-16 16:56:53 -07:00
8460f2205e Remake test_object -> testObject.cc
This was a *really* old class...
2014-08-16 08:54:33 -07:00
3a846ec282 Add -n option for "should render" 2014-08-16 08:52:40 -07:00
7e3cc3c3ed Copy properties of log tracer
The log tracer needs to copy its parameters, otherwise weird things happen.
2014-08-16 08:33:12 -07:00
dc6efc5e65 Fix up Transposed -> Tranpose in unit tests 2014-08-16 00:44:07 -07:00
c45d698424 Get a column vector of a matrix 2014-08-16 00:43:43 -07:00
1daf1619ef A few more objects for the oneBox scene -- it's not really one box anymore 2014-08-15 22:33:52 -07:00
050d87bd6f Place an object by its origin (only applies to spheres) 2014-08-15 22:33:34 -07:00
bbbac6ff92 Fix up Object object space conversions
- Ray directions shouldn't be translated
- Implement vector translation to global space
2014-08-15 22:33:22 -07:00
8af03c3f3d Implement Object::Place
Places the object by manipulating its translation matrix.
2014-08-15 22:32:44 -07:00
09ea4c2bc3 Mostly default Doxyfile 2014-08-13 09:04:11 -07:00
97b37d3c53 Just little tweaks
Mostly style, also the name of the Transposed() function -> Transpose().
2014-08-11 07:58:47 -07:00
56fff1178e ToObjectSpace copies the Ray anyway, so pass by value 2014-08-10 16:58:05 -07:00
4d4dc91ff4 Add Matrix4 Inverse and Transpose
Transpose is easy, with a bool flag to determine whether to access elements in row-major or column-major format. Inverse is more difficult, so this change only does translation inverses.
2014-08-10 16:57:34 -07:00
5b25b402c7 Merge branch 'matrix4' into feature/transform-matrix 2014-08-10 11:39:56 -07:00
dd36ab6fe1 Fill in missing Matrix4 symbols 2014-08-10 11:39:25 -07:00
51fbba95e7 Rename some matrix tests 2014-08-10 11:39:05 -07:00
620d5a5bc6 Fill in missing Vector4 symbols
Add assignment and call operators, bool operators, etc
2014-08-10 11:38:55 -07:00
49d097a803 Get rid of Matrix<N,M>, just use Matrix4 2014-08-10 10:51:12 -07:00
30d0570010 Add TooFar to util.hh 2014-08-10 10:49:45 -07:00
990d2b4c11 Add basics/util.hh
A place for NearZero, etc
2014-08-10 10:48:54 -07:00
74bbc87610 Trying to get this copy/move thing right between matrices and vectors 2014-08-10 09:42:02 -07:00
96f782c4ac Add tests for matrix multiplication
By identity matrix
With vectors
2014-08-10 09:41:48 -07:00
a5f451a120 Basics unit tests found some bugs! 2014-08-09 22:00:54 -07:00
1f01de6393 Remove VectorParser and ColorParser destructors
They weren't being used.
2014-08-09 22:00:43 -07:00
505a77d0e2 LOG_TRACE YAML events 2014-08-09 22:00:23 -07:00
c90c545f40 Define color constants 2014-08-09 21:30:28 -07:00
bf91fff5a2 More compiler fixups 2014-08-09 21:23:11 -07:00
43c8bd95c6 Remove basics.cc from the build 2014-08-09 21:22:40 -07:00
a97e7a6d2e Lights get virtual destructor and correct types 2014-08-09 21:22:12 -07:00
bb789476b6 New basics gets the remainder of the stuff from old basics
EPSILON, MAX_DISTANCE, NearZeor, NearlyEqual, TooFar.
2014-08-09 21:21:57 -07:00