370 Commits

Author SHA1 Message Date
Josh Holtrop
b24aea4dba minor Vector::refract() sign changes
git-svn-id: svn://anubis/fart/trunk@377 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-12 15:50:00 +00:00
Josh Holtrop
22f4a79671 added refraction computations to Scene::traceRay()
git-svn-id: svn://anubis/fart/trunk@376 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 16:14:13 +00:00
Josh Holtrop
931cde802e moved Material constructor into Material.h, removed Material.cc
git-svn-id: svn://anubis/fart/trunk@375 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 15:56:39 +00:00
Josh Holtrop
e39dbf9279 added refraction parameters to materials
git-svn-id: svn://anubis/fart/trunk@374 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 15:38:10 +00:00
Josh Holtrop
3594dace7f added "refraction" to parser, added RefractionNode node type
git-svn-id: svn://anubis/fart/trunk@373 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 15:36:02 +00:00
Josh Holtrop
ed58d2ec7a added Vector::refract()
git-svn-id: svn://anubis/fart/trunk@372 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 15:26:41 +00:00
Josh Holtrop
1eee61002e reworked Vector::reflect() to reflect an INCOMING ray
git-svn-id: svn://anubis/fart/trunk@371 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-11 15:21:50 +00:00
Josh Holtrop
15e4aa1dc0 allow parenthesizing boolean expressions as well as normal expressions
git-svn-id: svn://anubis/fart/trunk@370 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-08 19:26:47 +00:00
Josh Holtrop
4d397e0d49 added scenes/simple.fart
git-svn-id: svn://anubis/fart/trunk@369 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-08 15:49:33 +00:00
Josh Holtrop
eb7de55ea9 added while() loop... really just creates a ForNode with empty first and third part
git-svn-id: svn://anubis/fart/trunk@368 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-08 15:09:31 +00:00
Josh Holtrop
4e3ce00056 reworked expressions to implement precedence properly
git-svn-id: svn://anubis/fart/trunk@367 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-08 01:59:30 +00:00
Josh Holtrop
c77697c39d updated dw-circle.fart
git-svn-id: svn://anubis/fart/trunk@366 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 21:26:49 +00:00
Josh Holtrop
75638b1b74 added scenes/dw-circle.fart
git-svn-id: svn://anubis/fart/trunk@365 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 21:07:08 +00:00
Josh Holtrop
8e80851423 updated .todo
git-svn-id: svn://anubis/fart/trunk@364 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 21:06:56 +00:00
Josh Holtrop
45a28525a0 added ^, &&, and || operators
git-svn-id: svn://anubis/fart/trunk@363 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 21:05:30 +00:00
Josh Holtrop
78705024e8 changed assignment operator from := to = and equals operator from = to ==
git-svn-id: svn://anubis/fart/trunk@362 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 20:28:21 +00:00
Josh Holtrop
654be9058d added function calls to scene files
git-svn-id: svn://anubis/fart/trunk@361 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 18:53:42 +00:00
Josh Holtrop
eca2335fb2 if-test.fart update
git-svn-id: svn://anubis/fart/trunk@360 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 17:32:58 +00:00
Josh Holtrop
9fbdb9d84c added test scenes for "for" and "if" statements
git-svn-id: svn://anubis/fart/trunk@359 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 17:10:59 +00:00
Josh Holtrop
240384569d added ElseNode, handling elsif and else correctly
git-svn-id: svn://anubis/fart/trunk@358 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 17:10:27 +00:00
Josh Holtrop
8aaeb8d0fa merged in branch flat-parser
git-svn-id: svn://anubis/fart/trunk@356 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 16:55:43 +00:00
Josh Holtrop
208d0a99ac handling if elses
git-svn-id: svn://anubis/fart/trunk@355 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 16:37:16 +00:00
Josh Holtrop
e3087bb26c making parser flat
git-svn-id: svn://anubis/fart/branches/flat-parser@354 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 16:37:02 +00:00
Josh Holtrop
4410dcfd8b cut flat-parser branch
git-svn-id: svn://anubis/fart/branches/flat-parser@353 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 16:16:46 +00:00
Josh Holtrop
9712dab456 added "if" parser rule and IfNode class, "if_more" still in progress... changed ForNode::evaluate() and IfNode::evaluate() to use Node::evaluateChildren()
git-svn-id: svn://anubis/fart/trunk@352 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 15:23:15 +00:00
Josh Holtrop
fc33024b28 added MOD operator, converting operands to ints
git-svn-id: svn://anubis/fart/trunk@351 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-07 14:43:56 +00:00
Josh Holtrop
c4d8327665 formatting... for()s in for()s still causing problems
git-svn-id: svn://anubis/fart/trunk@350 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 21:32:39 +00:00
Josh Holtrop
ef769f7b4c fixed ForNode::evaluate() recursing properly
git-svn-id: svn://anubis/fart/trunk@349 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 21:18:05 +00:00
Josh Holtrop
84e4569383 added new control keywords and identifiers to vim syntax file
git-svn-id: svn://anubis/fart/trunk@348 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 21:10:16 +00:00
Josh Holtrop
4f6af31fc0 bool expressions were being evaluated backwards... whoops
git-svn-id: svn://anubis/fart/trunk@347 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 21:05:41 +00:00
Josh Holtrop
5dbe3c6d8f restored missing GREATER token (whoops), added column tracking to lexer
git-svn-id: svn://anubis/fart/trunk@346 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 20:54:36 +00:00
Josh Holtrop
c4fc36bb5c added <= and >= operators
git-svn-id: svn://anubis/fart/trunk@345 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 20:36:48 +00:00
Josh Holtrop
700e47901b merged branch scene-file-parsing into trunk
git-svn-id: svn://anubis/fart/trunk@343 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 20:21:48 +00:00
Josh Holtrop
d84fc2a96f actually saving off the parsed shapes helps a lot
git-svn-id: svn://anubis/fart/branches/scene-file-scripting@342 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-10-06 20:17:40 +00:00
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