334 Commits

Author SHA1 Message Date
Josh Holtrop
1dc370c99f fixed NumberNode and VectorNode "direct" bugs
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@341 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 19:27:54 +00:00
Josh Holtrop
4d488b9e55 moved Node::evaluateChildren() to nodes.cc, added EvaluatePropagateNode support
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@340 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 17:54:54 +00:00
Josh Holtrop
18886ef767 reworked ForNode evaluation()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@339 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 17:42:37 +00:00
Josh Holtrop
f36c1fa60f added evaluate() method for all non-scripting nodes, made evaluateChildren() recursive
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@338 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 16:32:27 +00:00
Josh Holtrop
793c7afb2d removed DEC_NUMBER parsing token and IntegerNode node, replaced with NumberNode
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@337 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 15:48:33 +00:00
Josh Holtrop
04022756e5 added NodeRef typedef
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@336 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 15:41:47 +00:00
Josh Holtrop
b851c3be98 added Node::evaluate(parent)
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@335 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 15:38:25 +00:00
Josh Holtrop
74f27c2076 removed processNode() and processChildren()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@334 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 21:47:07 +00:00
Josh Holtrop
e23b762a01 evaluating stmt_expression's in processGeneralItems()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@333 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 21:27:47 +00:00
Josh Holtrop
01a713af98 added Scene::processForNode() to process for nodes
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@332 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 21:26:12 +00:00
Josh Holtrop
71e40b0277 added stmt_expression rule to parser, added to general_items
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@331 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 20:54:47 +00:00
Josh Holtrop
91ea5a20e0 added ShapeRef typedef, added Scene::processGeneralItems()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@330 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 20:47:39 +00:00
Josh Holtrop
7014605fe3 added parser_scope global, added local assignments and local declarations to parser, reworked Scope class to use get(), putLocal(), and putGlobal() methods
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@329 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-04 19:54:43 +00:00
Josh Holtrop
e2569c0a54 added util/Scope.h
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@328 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-01 15:49:40 +00:00
Josh Holtrop
cd2f565df3 introduced ScaleScalarNode() node type to avoid evaluating expression multiple times
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@327 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-01 15:01:51 +00:00
Josh Holtrop
741ca57e11 added assignment expressions, for loop nodes, boolean expressions, ForNode class, BoolExpressionNode class, AssignmentNode class
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@326 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 21:33:22 +00:00
Josh Holtrop
442a7bdeda added VARREF in lexer matching $[a-zA-Z_][a-zA-Z_0-9]*, added VarRefNode class
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@325 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 20:59:26 +00:00
Josh Holtrop
35d6e536ae removed optional negative sign preceding number literals in lexer since it was interfering with minus operator with no whitespace
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@324 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 20:55:02 +00:00
Josh Holtrop
26d8d1a081 fixed NumberNode storing the expression as a child node
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@323 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 20:33:11 +00:00
Josh Holtrop
f54446bd6a fixed Ngon using an expression for n_sides and implementing getInteger()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@322 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 20:16:33 +00:00
Josh Holtrop
bd60471dfa fixed VectorNode storing expression nodes as children instead of class members; fixed JitterNode not implementing getInteger()
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@321 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 20:09:36 +00:00
Josh Holtrop
83fd083af8 removed annoying consts
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@320 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 19:58:21 +00:00
Josh Holtrop
1afa2b6510 fixed parser/nodes.h node classes not specifying "const" when overriding methods
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@319 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 19:47:38 +00:00
Josh Holtrop
2f825f29f9 moved computation of numbers and vectors from parser.yy to Scene-load.cc
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@318 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-29 19:30:14 +00:00
Josh Holtrop
20017370f0 added expression production to grammar, changed grammar refs from number to expression, added BinOpNode class, currently segfaulting :(
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@315 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 20:39:42 +00:00
Josh Holtrop
cb907de438 cut scene-file-scripting branch
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@314 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 20:38:17 +00:00
Josh Holtrop
ecd5f44207 messing with scenes/dw.fart more
git-svn-id: svn://anubis/fart/trunk@313 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 19:49:14 +00:00
Josh Holtrop
e5e4f991fb added optional block following shape references which can contain transforms or materials specific to the shape instance
git-svn-id: svn://anubis/fart/trunk@312 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 19:31:26 +00:00
Josh Holtrop
f67707e666 messing with scenes/dw.fart
git-svn-id: svn://anubis/fart/trunk@311 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 19:05:46 +00:00
Josh Holtrop
ad6ef8f315 moved some Matrix and Transform functionality into header files
git-svn-id: svn://anubis/fart/trunk@310 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 18:18:42 +00:00
Josh Holtrop
9fd9c5774e removed a few emtpy Vector x; statements
git-svn-id: svn://anubis/fart/trunk@309 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 17:53:31 +00:00
Josh Holtrop
835a0c968f moved a bunch of functionality from Ray.cc and Color.cc into Ray.h and Color.h
git-svn-id: svn://anubis/fart/trunk@308 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 17:16:39 +00:00
Josh Holtrop
3f0d6cd83e moved most Vector functionality into the header so it could be inlined
git-svn-id: svn://anubis/fart/trunk@307 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 16:55:39 +00:00
Josh Holtrop
9e4191fb61 added AABB class, calculating AABB in Extrude objects, added Extrude intersect() optimization to throw out rays not hitting the AABB
git-svn-id: svn://anubis/fart/trunk@306 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 16:37:27 +00:00
Josh Holtrop
437fa8b07a added Box intersect() optimization... ~2% faster
git-svn-id: svn://anubis/fart/trunk@305 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 15:52:52 +00:00
Josh Holtrop
138c90c2c3 optimized intersect() test for Subtract and Intersect boolean objects to not attempt intersecting with object B when object A had no intersections.... had about a 26% speed improvement for DW test scene
git-svn-id: svn://anubis/fart/trunk@304 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 14:22:25 +00:00
Josh Holtrop
f337831df6 updated todo
git-svn-id: svn://anubis/fart/trunk@303 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-28 02:30:32 +00:00
Josh Holtrop
1544ecb311 updated .todo
git-svn-id: svn://anubis/fart/trunk@302 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-27 21:23:36 +00:00
Josh Holtrop
02077ffc7c added cutout plane to dw logo scene
git-svn-id: svn://anubis/fart/trunk@301 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-27 18:49:25 +00:00
Josh Holtrop
16b991cd85 fixed extrudes to be translated so entire DW logo is lined up
git-svn-id: svn://anubis/fart/trunk@300 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-27 18:30:28 +00:00
Josh Holtrop
1d9dfd6858 fixed cyl offsets in DW logo to avoid 0-thickness subtracts
git-svn-id: svn://anubis/fart/trunk@299 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-27 15:13:17 +00:00
Josh Holtrop
e42599612f added DW logo scene file
git-svn-id: svn://anubis/fart/trunk@298 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-09-26 21:38:43 +00:00
Josh Holtrop
42c669fe4a merged in parser-comments branch
git-svn-id: svn://anubis/fart/trunk@296 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-15 17:15:45 +00:00
Josh Holtrop
28382777ac updated .todo
git-svn-id: svn://anubis/fart/branches/parser-comments@295 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-15 17:10:54 +00:00
Josh Holtrop
01671e9486 added vim syntax for comments, added sample comments to scene file
git-svn-id: svn://anubis/fart/branches/parser-comments@294 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-15 17:10:10 +00:00
Josh Holtrop
a4e85f8eff added comments to lexer
git-svn-id: svn://anubis/fart/branches/parser-comments@293 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-15 17:04:12 +00:00
Josh Holtrop
4cd288a66f cut parser-comments branch
git-svn-id: svn://anubis/fart/branches/parser-comments@292 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-15 17:00:24 +00:00
Josh Holtrop
838cddcbb2 added shape-definitions sample scene
git-svn-id: svn://anubis/fart/trunk@289 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 20:07:31 +00:00
Josh Holtrop
a92a84ac96 updated .todo
git-svn-id: svn://anubis/fart/trunk@288 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 19:45:45 +00:00
Josh Holtrop
b0dfa2ee1f bool sub-objects using relative coordinates, shape definitions using relative coordinates, this allows transform blocks in each, and shape references to combine absolute transform with the relative transform
git-svn-id: svn://anubis/fart/trunk@287 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 19:37:05 +00:00