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 |
|
Josh Holtrop
|
354edb9662
|
removed extraneous parse() function from Scene.cc
git-svn-id: svn://anubis/fart/trunk@137 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-19 22:00:51 +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
|
b9cc1fe9f9
|
added Scene::processNode() and Scene::processChildren()
git-svn-id: svn://anubis/fart/trunk@126 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-18 01:10:57 +00:00 |
|
Josh Holtrop
|
30932d00e9
|
Scene::load() calling parse() now
git-svn-id: svn://anubis/fart/trunk@125 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 23:40:09 +00:00 |
|
Josh Holtrop
|
f3e522262b
|
removed knowledge of domain types from parser, removed process() from Node, added a global refptr<Node> object, took parse(fileName) out of Scene class
git-svn-id: svn://anubis/fart/trunk@123 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-17 22:59:53 +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
|
6f2851f279
|
yyparse() now a friend function to Scene, light constructors not taking position arguments any more
git-svn-id: svn://anubis/fart/trunk@104 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-12 03:56:09 +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
|
8a112009a6
|
converted shapes and lights collection in Scene to be refptrs instead of real pointers
git-svn-id: svn://anubis/fart/trunk@102 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-11 17:23:01 +00:00 |
|
Josh Holtrop
|
ee64558db6
|
made parser/parser.yy:parse() a method of class Scene so no global g_scene is needed
git-svn-id: svn://anubis/fart/trunk@100 7f9b0f55-74a9-4bce-be96-3c2cd072584d
|
2009-02-11 17:08:38 +00:00 |
|