160 Commits

Author SHA1 Message Date
Josh Holtrop
1dbe7040e4 working on distribution infrastructure some more, ssh working
git-svn-id: svn://anubis/fart/trunk@222 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-05 16:42:30 +00:00
Josh Holtrop
584160265f updated scenes/die.fart, moved where backface checking was occurring in main/Scene
git-svn-id: svn://anubis/fart/trunk@217 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 22:07:06 +00:00
Josh Holtrop
7d9eb65fde working on die scene, fixed bug in Scene-load for loading colors applied to lights
git-svn-id: svn://anubis/fart/trunk@216 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 21:11:01 +00:00
Josh Holtrop
5590c533ce Fixed boolean objects to determine if rays start inside or outside the boolean; changed constructors to accept a list of shapes instead of just two shapes; changed parser to accept any number of top-level shapes inside of a boolean shape block; changed scenes/die.fart to reflect this change (a drastic simplification)
git-svn-id: svn://anubis/fart/trunk@215 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 19:51:21 +00:00
Josh Holtrop
f103b71ed6 added SUBDIRS to top-level Makefile to make adding subdirectories easier
git-svn-id: svn://anubis/fart/trunk@214 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-13 19:26:12 +00:00
Josh Holtrop
91e490b65a added shapes/shapes.h, shapes/BoolShape, made Intersect, Union, and Subtract derive from BoolShape, made BoolShape::setMaterial() call setMaterial() on sub-shapes so that materials applied to boolean objects will be applied to all sub-objects
git-svn-id: svn://anubis/fart/trunk@212 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-12 02:59:35 +00:00
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
091fcadd39 added -d flag to usage information
git-svn-id: svn://anubis/fart/trunk@207 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-10 18:29:45 +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
9f9ce1a8f5 added maximum depth command-line argument (-d) and scene option (max_depth); prettified elapsed time output when greater than 60 seconds
git-svn-id: svn://anubis/fart/trunk@203 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-10 00:01:21 +00:00
Josh Holtrop
60b29d658d modified shapes and Scene to return surface normal in the intersect object
git-svn-id: svn://anubis/fart/branches/2009-03-09_intersect_returning_normals@200 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-09 23:17:31 +00:00
Josh Holtrop
88444e25b8 added scenes/csg.fart, fixed bug in loading boolean objects in Scene-load.cc
git-svn-id: svn://anubis/fart/trunk@196 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-09 00:09:33 +00:00
Josh Holtrop
09e97510d8 added built-in timer around Scene::render() call
git-svn-id: svn://anubis/fart/trunk@195 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-08 22:51:47 +00:00
Josh Holtrop
db72b5ba82 scanning scene files for camera definitions before shapes and lights
git-svn-id: svn://anubis/fart/trunk@194 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-08 22:31:15 +00:00
Josh Holtrop
feeaa34d62 tweaked Scene::calculateLightContribution() and scenes/cyls.fart slightly
git-svn-id: svn://anubis/fart/trunk@189 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-07 18:38:40 +00:00
Josh Holtrop
608939bff4 Scene-load setting light position based on the current transform
git-svn-id: svn://anubis/fart/trunk@188 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-06 23:32:00 +00:00
Josh Holtrop
24ef1eca3c added scenes/trans-boxes.fart, changed Scene to consider all back-faces as front-faces by inverting the normal vector, fixed bug in Scene::calculateLightContribution() which was messing up shadow values and back-face intensities for transparent objects
git-svn-id: svn://anubis/fart/trunk@187 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-06 19:12:26 +00:00
Josh Holtrop
b50c4de1bc added parser, nodes, Scene-load support for transparency in materials
git-svn-id: svn://anubis/fart/trunk@186 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-05 20:04:13 +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
7d0b4c5646 moved Lighting::computePhong() into Scene, removed Lighting module
git-svn-id: svn://anubis/fart/trunk@184 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-04 00:16:32 +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
1f00625379 made verbose the default option
git-svn-id: svn://anubis/fart/trunk@181 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 03:22:12 +00:00
Josh Holtrop
73cc495a79 removed debug print
git-svn-id: svn://anubis/fart/trunk@180 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 03:08:11 +00:00
Josh Holtrop
bb5eb07c75 fixed bug in material definitions, added them to cyls.fart, they are working now!
git-svn-id: svn://anubis/fart/trunk@179 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 03:06:56 +00:00
Josh Holtrop
31e2604f98 Scene-load.cc handling material definitions
git-svn-id: svn://anubis/fart/trunk@178 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 02:56:33 +00:00
Josh Holtrop
56a5fa6166 added cyls.fart sample scene, removed hard-coded scene from Scene-load.cc; reading from a file is working!
git-svn-id: svn://anubis/fart/trunk@176 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-02 00:41:27 +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
adf7997417 added .todo file, commented out hard-coded sample scene
git-svn-id: svn://anubis/fart/trunk@172 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-01 22:52:51 +00:00
Josh Holtrop
65c447f85a filled out Scene::processLight(), added color keyword to light specification
git-svn-id: svn://anubis/fart/trunk@171 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-01 22:41:23 +00:00
Josh Holtrop
0ea6e96e0a filled out Scene::processTransformBlock()
git-svn-id: svn://anubis/fart/trunk@170 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-01 22:31:42 +00:00
Josh Holtrop
84249c8231 filled in Scene::processOptions()
git-svn-id: svn://anubis/fart/trunk@169 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 23:22:36 +00:00
Josh Holtrop
bb07e12193 added Scene::process{Camera,Options,TransformBlock}()
git-svn-id: svn://anubis/fart/trunk@168 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 22:59:11 +00:00
Josh Holtrop
32fcafc687 filled out Scene::processBool() to handle all boolean shapes; added Node::isShape() virtual function to determine whether a node object represents a shape node
git-svn-id: svn://anubis/fart/trunk@167 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 21:22:30 +00:00
Josh Holtrop
5a83786103 filled out Scene::processPlane()
git-svn-id: svn://anubis/fart/trunk@166 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 20:39:29 +00:00
Josh Holtrop
e40677ba77 added "cyl" token to parser and parser rules for cyl object
git-svn-id: svn://anubis/fart/trunk@165 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 20:32:23 +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
44ba550f68 moved sample scene a bit, reset plane color to white, showing a Subtract object in the sample scene
git-svn-id: svn://anubis/fart/trunk@162 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 17:10:20 +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
c78e5941c8 stubbed out recursion, changed Scene::getRayHits() to Scene::getRayClosestHit()
git-svn-id: svn://anubis/fart/trunk@160 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 16:16:40 +00:00
Josh Holtrop
5035c80d94 Subtract working, but reflected normals being returned... and where did my plane and cyl go?
git-svn-id: svn://anubis/fart/trunk@159 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 00:06:12 +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
bcbec65a8f converted shapes/Intersect::intersect() to using BoolIntersectionList
git-svn-id: svn://anubis/fart/trunk@152 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 03:04:26 +00:00
Josh Holtrop
ab2832a660 fixed compile issues with switch to new Shape::IntersectionList
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@145 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:26:45 +00:00
Josh Holtrop
0c7f85db96 updating IntersectList to new Shape::IntersectionList format
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@144 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:24:30 +00:00
Josh Holtrop
e23d5cdca4 added shapes/Intersect, need to rework IntersectList
git-svn-id: svn://anubis/fart/trunk@142 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 05:51:51 +00:00
Josh Holtrop
29b60f346e added process*() functions in Scene-load.cc for various shape types
git-svn-id: svn://anubis/fart/trunk@141 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-21 14:36:18 +00:00
Josh Holtrop
864ef9b51b added skeleton process{Material,Light,Shape} functions to Scene-load.cc
git-svn-id: svn://anubis/fart/trunk@140 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-20 17:40:34 +00:00
Josh Holtrop
94548d4418 Light.h including concrete light type class definitions
git-svn-id: svn://anubis/fart/trunk@139 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-20 16:35:48 +00:00
Josh Holtrop
5949a813df moved processNode(), processChildren(), and load() into main/Scene-load.cc
git-svn-id: svn://anubis/fart/trunk@138 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-20 16:33:05 +00:00