164 Commits

Author SHA1 Message Date
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
1924bea5cf added color token to parser for specifying both diffuse and ambient color in a material, added ColorNode, switched color nodes to inherit from VectorNode
git-svn-id: svn://anubis/fart/trunk@163 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 18:25:12 +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
ef25fe4a5b added Subtract, including Union and Subtract in Shape.h
git-svn-id: svn://anubis/fart/trunk@158 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-27 22:43:49 +00:00
Josh Holtrop
5af3f0deca i think i have union working, need to test after transparency is working
git-svn-id: svn://anubis/fart/trunk@157 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-27 22:29:27 +00:00
Josh Holtrop
27cea5e702 added Union shape based on Intersect
git-svn-id: svn://anubis/fart/trunk@156 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-27 18:34:08 +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
f7eb4cd4b9 finished implementing shapes/Intersect::intersect()
git-svn-id: svn://anubis/fart/trunk@154 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 03:22:15 +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
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
2e6c62a032 working on Intersect::intersect()
git-svn-id: svn://anubis/fart/trunk@151 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 02:17:22 +00:00
Josh Holtrop
7d64dd745d got Shape::IntersectionList::merge() to sort the result with IntersectionComparator successfully
git-svn-id: svn://anubis/fart/trunk@150 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 00:38:09 +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
56278a8337 changed IntersectionList into a class so i could add merge()
git-svn-id: svn://anubis/fart/trunk@148 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 21:39:56 +00:00
Josh Holtrop
5f18370846 merged /branches/2009-02-23_Shape_IntersectList_Update into trunk
git-svn-id: svn://anubis/fart/trunk@146 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:37:57 +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
3b3a153559 created 2009-02-23_Shape_IntersectList_Update branch for changing Shape::IntersectList into a vector of Intersections, which contain both a pointer to the actual underlying Shape object and the vector for the intersection point. This will be necessary to support boolean objects.
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@143 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 19:09:36 +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
7f9547c010 fixed bug in shapes/Cyl intersection routine for top cap distance
git-svn-id: svn://anubis/fart/trunk@135 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:34:32 +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
2b1603cf26 updated shapes/Cyl::getNormalAt(), added Cyl.h to shapes/Shape.h include list
git-svn-id: svn://anubis/fart/trunk@133 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:15:49 +00:00
Josh Holtrop
39e77678ee updated Cyl intersection routine
git-svn-id: svn://anubis/fart/trunk@132 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:03:23 +00:00
Josh Holtrop
d8648b0770 working on shapes/Cyl
git-svn-id: svn://anubis/fart/trunk@131 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 04:35:51 +00:00
Josh Holtrop
561098001a added shapes/Cyl, needs finishing
git-svn-id: svn://anubis/fart/trunk@130 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-18 23:06:45 +00:00
Josh Holtrop
395161eb66 parser.lex keeping track of line number now
git-svn-id: svn://anubis/fart/trunk@129 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-18 02:10:27 +00:00
Josh Holtrop
76260a7696 bison yyerror() passing yylloc to errFunc() but line number is coming out as 1
git-svn-id: svn://anubis/fart/trunk@128 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-18 01:57:50 +00:00
Josh Holtrop
aaaac6d887 added location directives to flex and bison sources
git-svn-id: svn://anubis/fart/trunk@127 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-18 01:35:09 +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
b0014e34d1 made parsed_scene_node static to parser, parse() returns refptr<Node> now
git-svn-id: svn://anubis/fart/trunk@124 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 23:31:19 +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
a8e898e445 changed DEC_NUMBER from generating a NumberNode to an IntegerNode in parser.lex
git-svn-id: svn://anubis/fart/trunk@122 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 14:15:34 +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
13fedccf4c updated svn:ignore on parser directory for C++ version of flex output file
git-svn-id: svn://anubis/fart/trunk@120 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 05:21:06 +00:00
Josh Holtrop
22519b5a0c fixed bug in shapes/Plane, added shapes/Box
git-svn-id: svn://anubis/fart/trunk@119 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 05:20:38 +00:00
Josh Holtrop
0fea65d4ef added transform_block to parser, {Translate,Rotate,Scale}BlockNode nodes
git-svn-id: svn://anubis/fart/trunk@118 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 04:06:07 +00:00
Josh Holtrop
0e22a21637 added TranslateNode, RotateNode, and ScaleNode
git-svn-id: svn://anubis/fart/trunk@117 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 03:25:53 +00:00
Josh Holtrop
2a816c1c1a added parser/parser.h for a common YYSTYPE definition location
git-svn-id: svn://anubis/fart/trunk@116 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 02:13:24 +00:00
Josh Holtrop
ecc06433fc flex output compiling with g++
git-svn-id: svn://anubis/fart/trunk@115 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 01:37:39 +00:00