Josh Holtrop
|
86888fa461
|
changed Scene::calculateLightContribution() to return a Color instead of a double and take into account the color of any semi-transparent objects that are passed through en route to the light source... this leads to shadow colors tainted by the color of the objects through which the light is travelling
git-svn-id: svn://anubis/fart/trunk@211 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-12 02:30:28 +00:00 |
|
Josh Holtrop
|
72a5023539
|
updated Makefiles to not print the "*.dep: No such file or directory" warnings
git-svn-id: svn://anubis/fart/trunk@204 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-10 01:54:23 +00:00 |
|
Josh Holtrop
|
f9cf1381a6
|
working on shadows but they are appearing in weird places...
git-svn-id: svn://anubis/fart/trunk@185 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-04 02:03:21 +00:00 |
|
Josh Holtrop
|
e233056880
|
added Color::operator*=(), added jitter computation to reflectance and transparency recursion, recursing now but there is still a jitter or recursion issue
git-svn-id: svn://anubis/fart/trunk@182 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-03-03 04:30:46 +00:00 |
|
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 |
|