Josh Holtrop
|
84f6b04cd7
|
removed static const Material::white (had a problem with C++ since the order that the static const constructors were being called in was not correct according to the order that the code depended on them), made Shape constructor use a common default material instead of recreating one every time
git-svn-id: svn://anubis/fart/trunk@174 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-02 00:17:56 +00:00 |
|
Josh Holtrop
|
6a649ecac7
|
fixed Lighting to ignore dot products less than 0 for diffuse coefficients; this broke shapes/Subtract again. fixed Material::white to be assigned to by Material() as evidently it was not calling the constructor properly otherwise. added initializer in Material::Material() to set ambient color to white. Scene constructing PointLight instead of a raw Light when loading from a file
git-svn-id: svn://anubis/fart/trunk@173 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-01 23:50:53 +00:00 |
|
Josh Holtrop
|
0462a2e7bc
|
working on Scene::process*() functions to load the scene from a file
git-svn-id: svn://anubis/fart/trunk@164 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 19:59:22 +00:00 |
|
Josh Holtrop
|
9ef826df43
|
fixed bug in shapes/Plane which would return negative results, fixed bug in main/Scene which would not check for shape to be non-null after calling getRayClosestHit()
git-svn-id: svn://anubis/fart/trunk@161 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-28 17:07:30 +00:00 |
|
Josh Holtrop
|
16f38f1f27
|
added sample Intersect object to sample scene, added Color::magenta constant
git-svn-id: svn://anubis/fart/trunk@155 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-24 03:35:20 +00:00 |
|
Josh Holtrop
|
527dc6f1dc
|
added virtual ~Solver() in util/Solver to avoid compiler warnings
git-svn-id: svn://anubis/fart/trunk@153 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-24 03:05:43 +00:00 |
|
Josh Holtrop
|
25d6432dbd
|
trying to get a custom comparator to sort my IntersectionList after a merge()
git-svn-id: svn://anubis/fart/trunk@149 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-23 22:26:46 +00:00 |
|
Josh Holtrop
|
cda03ad45a
|
moved main/Material to util/Material
git-svn-id: svn://anubis/fart/trunk@136 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 18:45:52 +00:00 |
|
Josh Holtrop
|
52103bf543
|
added static const cyan color, added cone to sample scene
git-svn-id: svn://anubis/fart/trunk@134 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 18:30:02 +00:00 |
|
Josh Holtrop
|
4b0f506522
|
added Color::yellow, finished shapes/Box, added a couple boxes to sample scene
git-svn-id: svn://anubis/fart/trunk@121 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 05:36:48 +00:00 |
|
Josh Holtrop
|
c136bda827
|
added the_Color to Node, material gathering AMBIENT, DIFFUSE, SPECULAR color values
git-svn-id: svn://anubis/fart/trunk@103 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-12 03:07:22 +00:00 |
|
Josh Holtrop
|
8b9b6332cc
|
changed getPtr() to isNull() in util/refptr, filled in parser logic a lot more
git-svn-id: svn://anubis/fart/trunk@99 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-11 04:27:44 +00:00 |
|
Josh Holtrop
|
236cbc7db0
|
added getPtr() to util/refptr
git-svn-id: svn://anubis/fart/trunk@98 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-10 01:21:54 +00:00 |
|
Josh Holtrop
|
0fc1e468fe
|
removed test directory, converted Shape's material handle to a refptr<Material> instead of a Material *, made refptr<T>::operator*() and operator->() const members
git-svn-id: svn://anubis/fart/trunk@96 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-10 01:09:07 +00:00 |
|
Josh Holtrop
|
0181e82653
|
added dereference and indirection operators to util/refptr, converted parser to use refptr<Node> as YYSTYPE
git-svn-id: svn://anubis/fart/trunk@94 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-10 00:37:49 +00:00 |
|
Josh Holtrop
|
c6e1a2c7e4
|
added refptr<T>::operator=(const T * ptr) method, including refptr in parser
git-svn-id: svn://anubis/fart/trunk@93 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-10 00:18:07 +00:00 |
|
Josh Holtrop
|
e2424337d6
|
moved all refptr functions into util/refptr.h since they are templated, deleted util/refptr.cc, updated test/tests.cc to test refptr functionality
git-svn-id: svn://anubis/fart/trunk@92 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-10 00:10:04 +00:00 |
|
Josh Holtrop
|
498d35274d
|
fixed up util/refptr
git-svn-id: svn://anubis/fart/trunk@91 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-09 23:51:00 +00:00 |
|
Josh Holtrop
|
d34242252a
|
added util/refptr module
git-svn-id: svn://anubis/fart/trunk@90 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-09 23:31:15 +00:00 |
|
Josh Holtrop
|
31a7f0fedf
|
updated subdir Makefiles, added parser directory and parser/Makefile
git-svn-id: svn://anubis/fart/trunk@78 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-04 18:35:32 +00:00 |
|
Josh Holtrop
|
d421a652e4
|
fixed compile warning in util/Color for return value of operator+= and -=
git-svn-id: svn://anubis/fart/trunk@77 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-02 15:29:01 +00:00 |
|
Josh Holtrop
|
6fbdf46122
|
fixed bug in util/Vector::reflect(), Phong shading getting much closer
git-svn-id: svn://anubis/fart/trunk@73 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-31 00:17:09 +00:00 |
|
Josh Holtrop
|
41b4354d52
|
trying to get Phong shading model working, having very large color values come back though
git-svn-id: svn://anubis/fart/trunk@72 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 20:53:13 +00:00 |
|
Josh Holtrop
|
8677680577
|
added main/Lighting module, added operator-() to util/Vector, added m_shininess to main/Light
git-svn-id: svn://anubis/fart/trunk@71 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 20:28:05 +00:00 |
|
Josh Holtrop
|
18c0c8d45f
|
added diffuse and specular colors to Material, switched all "private:" to "protected:"
git-svn-id: svn://anubis/fart/trunk@69 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 02:26:46 +00:00 |
|
Josh Holtrop
|
f087488b39
|
using Color instead of Vector where appropriate, updated main/Light to use diffuse and specular lights
git-svn-id: svn://anubis/fart/trunk@67 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 01:25:57 +00:00 |
|
Josh Holtrop
|
08a0047ba8
|
added proj() and reflect() to util/Vector, changed util/Transform to use Vector::proj() in lookAt()
git-svn-id: svn://anubis/fart/trunk@66 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-30 00:18:20 +00:00 |
|
Josh Holtrop
|
866f22a637
|
added operator*(Vector,double) and operator/(Vector,double) to util/Vector; added lookAt() to util/Transform (needs testing)
git-svn-id: svn://anubis/fart/trunk@63 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 23:47:46 +00:00 |
|
Josh Holtrop
|
9041ec6a1c
|
shapes/Shape.h now including specific shape headers (after base class definition), test/tests.cc fixed compiler warning, main/Scene drawing demo Plane, util/Transform not needlessly re-initializing m_matrix
git-svn-id: svn://anubis/fart/trunk@62 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 21:41:19 +00:00 |
|
Josh Holtrop
|
7a4bb7dbc2
|
added LinearSolver to util/Solver module; added shapes/Plane module
git-svn-id: svn://anubis/fart/trunk@59 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-28 15:02:05 +00:00 |
|
Josh Holtrop
|
47cf177a15
|
removed svn:executable for some files
git-svn-id: svn://anubis/fart/trunk@55 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 18:28:38 +00:00 |
|
Josh Holtrop
|
e8fd42f81f
|
broke traceRay() out into getRayHits()
git-svn-id: svn://anubis/fart/trunk@51 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-27 00:11:14 +00:00 |
|
Josh Holtrop
|
e0d545a6b7
|
added util/Color module, updated Light and PointLight
git-svn-id: svn://anubis/fart/trunk@49 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-26 20:08:42 +00:00 |
|
Josh Holtrop
|
7d7ec130e0
|
added operators +, - to Vector, added inverse transform instance variable to shapes/Shape, changed Sphere to use its inverse transform when calculating intersections and normals, removed simplistic lighting from main/Scene
git-svn-id: svn://anubis/fart/trunk@47 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-26 14:02:15 +00:00 |
|
Josh Holtrop
|
d88f1ab5fd
|
fixed bug in QuadraticSolver, cheap lighting working
git-svn-id: svn://anubis/fart/trunk@45 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 23:56:39 +00:00 |
|
Josh Holtrop
|
761925220b
|
added getNormalAt() to Shape & Sphere, trying to get basic lighting
git-svn-id: svn://anubis/fart/trunk@44 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 18:09:27 +00:00 |
|
Josh Holtrop
|
bd12e9798f
|
Transform::rotate() using radians instead of degrees in sin(), cos() calls
git-svn-id: svn://anubis/fart/trunk@42 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 16:47:08 +00:00 |
|
Josh Holtrop
|
20eafaf9f4
|
fixed view plane distance calculation to use tan() and convert degrees to radians
git-svn-id: svn://anubis/fart/trunk@41 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 16:44:39 +00:00 |
|
Josh Holtrop
|
97b9fa9eab
|
added getInverse() to util/Transform, fixed transform_*() functions
git-svn-id: svn://anubis/fart/trunk@39 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 15:28:53 +00:00 |
|
Josh Holtrop
|
7d461477b3
|
added operator<<(ostream, Ray) to util/Ray, main/Scene now calculating rays
git-svn-id: svn://anubis/fart/trunk@38 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 15:15:35 +00:00 |
|
Josh Holtrop
|
f03b19a022
|
added messages to main/Scene, util/Matrix constructor sets matrix to identity
git-svn-id: svn://anubis/fart/trunk@37 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 14:57:47 +00:00 |
|
Josh Holtrop
|
73cdd1a5a1
|
improving Ray, Sphere, Solver, Scene a bit
git-svn-id: svn://anubis/fart/trunk@35 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 14:37:18 +00:00 |
|
Josh Holtrop
|
bdb648b84f
|
added transform_normal() to util/Transform
git-svn-id: svn://anubis/fart/trunk@34 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 04:15:25 +00:00 |
|
Josh Holtrop
|
63d56c5e43
|
renamed transformation operations in util/Transform for clarity
git-svn-id: svn://anubis/fart/trunk@32 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 02:13:17 +00:00 |
|
Josh Holtrop
|
277252ef77
|
added transformation operations to util/Transform
git-svn-id: svn://anubis/fart/trunk@31 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 00:27:29 +00:00 |
|
Josh Holtrop
|
2deee25004
|
added operator%() to util/Matrix
git-svn-id: svn://anubis/fart/trunk@30 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-23 00:14:22 +00:00 |
|
Josh Holtrop
|
0044dbb544
|
added Vector(double,double,double) constructor, filled in rotate() in Transform
git-svn-id: svn://anubis/fart/trunk@29 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-22 21:30:35 +00:00 |
|
Josh Holtrop
|
cd9530d21b
|
filled in scale() transformation in util/Transform
git-svn-id: svn://anubis/fart/trunk@28 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-22 20:36:05 +00:00 |
|
Josh Holtrop
|
13d7d90b87
|
added operator*=() to util/Matrix
git-svn-id: svn://anubis/fart/trunk@27 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-22 20:31:13 +00:00 |
|
Josh Holtrop
|
1454fe8c2e
|
added --help option, updated util/Transform
git-svn-id: svn://anubis/fart/trunk@26 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-01-22 03:28:51 +00:00 |
|