ef9b9d04c8
Put all the parsers in the charles namespace
2014-08-09 20:53:04 -07:00
b7a9f07d5e
Lots of little niggling compiler errors
2014-08-09 20:46:26 -07:00
3a8c955796
Put the readers and writers in charles namespace
2014-08-09 20:46:14 -07:00
84cb27fa6f
Allow passing intensity in PointLight constructor
2014-08-09 20:45:45 -07:00
c3da70cdd9
Clean up some dependencies between scene, material, and color
2014-08-09 20:34:23 -07:00
48e35dfc81
Update material.{cc,hh}
2014-08-09 20:31:18 -07:00
42bef33775
Get rid of Color implementation in old basics.cc
2014-08-09 20:24:45 -07:00
b001ad2cf2
light.hh include in scene.hh
2014-08-09 20:24:18 -07:00
f6680f993f
Clean up includes and old code in charles.cc
2014-08-09 20:24:11 -07:00
161a635ab5
reader.hh
...
Fix up includes, put it in charles namespace
2014-08-09 20:24:00 -07:00
080ee0d580
Remove Color and Vector3 from old basics
2014-08-09 20:23:23 -07:00
3c3e707922
Light has a shared_ptr type, and an overridable Contribution()
2014-08-09 20:23:08 -07:00
acdfb0fb60
Add PointLight in lightPoint.cc
2014-08-09 20:22:35 -07:00
e1ded8a9ad
Clean up for Lights (and AmbientLights)
2014-08-09 20:04:42 -07:00
d085a192e8
Clean up basics::Color
2014-08-09 19:39:41 -07:00
4b396cabe8
Move Color over to basics
2014-08-09 19:30:47 -07:00
47ae52ed05
Woo Scene updates...
2014-08-09 12:26:12 -07:00
c49457a817
Implement Normalized, LinearCombination, and operator<< on Vector4s
2014-08-09 11:55:10 -07:00
9645a09a6c
So much clean up for cameras
2014-08-09 11:26:17 -07:00
d10d219eb3
Comment out old Ray
2014-08-09 11:04:26 -07:00
19dfb66301
Cleanup for Spheres
2014-08-09 11:04:17 -07:00
590f10a756
Updates for Plane
2014-08-09 10:58:30 -07:00
392871a1ee
Updates for Box
2014-08-09 10:54:00 -07:00
70576c382a
Do all the clean up needed for Object
2014-08-09 10:42:49 -07:00
2c2bf09140
Compiler errors in Box::DoIntersect, hidden until now...
2014-08-09 10:11:44 -07:00
217c4709aa
Vector4's constructor takes default arguments
2014-08-09 10:08:44 -07:00
baf40143b2
DoIntersect is an abstract method
2014-08-09 10:08:29 -07:00
3846a1aa3a
Move Box intersection code to DoIntersect
2014-08-09 10:08:21 -07:00
d0d667d6d2
Object::Intersect
...
A new intersect method that converts to object space before doing the intersection. Now all objects are at their own origin!
2014-08-09 09:59:00 -07:00
519eb347d1
Vector4 constructor from Matrix<4,1>
2014-08-09 09:57:35 -07:00
43cb182aa7
Have to use operator() for Matrix<>::operator*
...
Matrix<N,P> is a different class from Matrix<N,M> so Matrix<N,M> can't access protected member data on Matrix<N,P>. There must be a better way that having to do the multiplies requires for operator().
2014-08-09 09:57:09 -07:00
9aa557293a
A Ray class in basics!
2014-08-09 09:33:22 -07:00
b41cdb7186
Vector4 +, -, negation, and *
...
+, -, and negation were easy. Multiplication is wacky because the Matrix class does it. So, to do binary * (not *=) I needed to dynamic_cast the resulting Matrix<4,1> to a Vector4&&.
2014-08-09 09:32:48 -07:00
a3d51f7cf3
TranslationMatrix() is not static
2014-08-09 09:02:04 -07:00
9b6b6a20b7
Const versions of Vector4's X(), Y(), and Z()
2014-08-09 09:01:52 -07:00
584d0326a9
Get rid of object's origin
2014-08-09 08:59:11 -07:00
ab9ac5e963
Clean up constructors for Object and Sphere
...
Use default arguments instead of multiple constructors. I forgot about those! Use Vector4s all around.
2014-08-09 08:57:41 -07:00
8ccfbc0498
Scalar multiplication Doxygen group
2014-08-09 08:31:37 -07:00
cf57dfc51a
I give up on Normalization
...
Compiler was complaining about casting between Vector4 and Matrix<4,1> so I just did the division by hand.
I bet operator* and operator/ are broken for Vector4s as well...
2014-08-09 08:31:25 -07:00
32292a45fa
Move EPSILON and MAX_DISTANCE back to basics.h
2014-08-09 08:30:29 -07:00
fa3708edfb
Implement a bunch of the useful Vector operations
2014-08-08 23:05:38 -07:00
9b076f1533
Implement more robust * and / for Matrix
2014-08-08 23:05:24 -07:00
be15d553f1
Move EPSILON and MAX_DISTANCE to basics/basics.hh
2014-08-08 23:04:52 -07:00
abd38169b1
Comment out all the old Matrix4 stuff
2014-08-08 22:14:36 -07:00
b59b6d85c0
Add Matrix4, implement TranslationMatrix()
2014-08-08 22:14:20 -07:00
9474153736
Move Zero() and Identity() definitions to the right place
2014-08-08 22:13:51 -07:00
2cadffd7d4
Fix Vector4 constructors and clean up compiler errors
2014-08-08 21:47:44 -07:00
3bf72bd78d
Build basics!
2014-08-08 21:12:44 -07:00
da127ccde3
Vector4 subclass instead of typedef
2014-08-08 21:12:37 -07:00
2b9fec5d82
Const operator==
2014-08-08 21:12:18 -07:00