265 Commits

Author SHA1 Message Date
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
Josh Holtrop
6e67597dc7 commit before attempting to compile flex scanner with C++ instead of C
git-svn-id: svn://anubis/fart/trunk@114 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 01:29:25 +00:00
Josh Holtrop
3aed1c21ca filled out tree-building code for all parser nodes
git-svn-id: svn://anubis/fart/trunk@113 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 00:58:08 +00:00
Josh Holtrop
5d7a230ee3 using -O2 which avoids "might be used uninitialized" compiler warnings, added *.dep to svn:ignore for parser directory
git-svn-id: svn://anubis/fart/trunk@112 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 21:51:45 +00:00
Josh Holtrop
70c4785b43 fixed up bison conflicts in grammar
git-svn-id: svn://anubis/fart/trunk@111 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 21:20:05 +00:00
Josh Holtrop
71a55378c4 fixed a few compiler warnings, have a few more to go
git-svn-id: svn://anubis/fart/trunk@110 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 21:06:19 +00:00
Josh Holtrop
69c5fdd1e6 updated parser to compile again, still have non-virtual destructor compiler warnings
git-svn-id: svn://anubis/fart/trunk@109 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 20:51:59 +00:00
Josh Holtrop
4d5faf8362 updating parser nodes, introducing conflicts, still not compiling
git-svn-id: svn://anubis/fart/trunk@108 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 20:19:01 +00:00
Josh Holtrop
9849ba06b5 adding tree node classes, updated addChild() and added addChildren() to Node
git-svn-id: svn://anubis/fart/trunk@107 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 17:29:57 +00:00
Josh Holtrop
3014a39bb0 added parser/nodes.{cc,h}, broke compilation temporarily
git-svn-id: svn://anubis/fart/trunk@106 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 13:41:09 +00:00
Josh Holtrop
dcbdf4e2ec updated parser Makefile to include dependency information
git-svn-id: svn://anubis/fart/trunk@105 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-16 01:21:28 +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
7f9b8b913a added Shape::~Shape() to work around compiler warnings
git-svn-id: svn://anubis/fart/trunk@101 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-11 17:11:30 +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
Josh Holtrop
8b9b6332cc changed getPtr() to isNull() in util/refptr, filled in parser logic a lot more
git-svn-id: svn://anubis/fart/trunk@99 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-11 04:27:44 +00:00
Josh Holtrop
236cbc7db0 added getPtr() to util/refptr
git-svn-id: svn://anubis/fart/trunk@98 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 01:21:54 +00:00
Josh Holtrop
2f16235ed2 updating parser logic
git-svn-id: svn://anubis/fart/trunk@97 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 01:20:05 +00:00
Josh Holtrop
0fc1e468fe removed test directory, converted Shape's material handle to a refptr<Material> instead of a Material *, made refptr<T>::operator*() and operator->() const members
git-svn-id: svn://anubis/fart/trunk@96 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 01:09:07 +00:00
Josh Holtrop
2e82f9e2ea adding required arguments to shape constructors in scene description language
git-svn-id: svn://anubis/fart/trunk@95 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 00:52:38 +00:00
Josh Holtrop
0181e82653 added dereference and indirection operators to util/refptr, converted parser to use refptr<Node> as YYSTYPE
git-svn-id: svn://anubis/fart/trunk@94 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 00:37:49 +00:00
Josh Holtrop
c6e1a2c7e4 added refptr<T>::operator=(const T * ptr) method, including refptr in parser
git-svn-id: svn://anubis/fart/trunk@93 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 00:18:07 +00:00
Josh Holtrop
e2424337d6 moved all refptr functions into util/refptr.h since they are templated, deleted util/refptr.cc, updated test/tests.cc to test refptr functionality
git-svn-id: svn://anubis/fart/trunk@92 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-10 00:10:04 +00:00
Josh Holtrop
498d35274d fixed up util/refptr
git-svn-id: svn://anubis/fart/trunk@91 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-09 23:51:00 +00:00
Josh Holtrop
d34242252a added util/refptr module
git-svn-id: svn://anubis/fart/trunk@90 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-09 23:31:15 +00:00
Josh Holtrop
fc8a46853b added some setters to Scene, including some modules in parser, ready to do something with the parse results
git-svn-id: svn://anubis/fart/trunk@89 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-09 02:55:02 +00:00
Josh Holtrop
70eeff90fb added class node to parser to store parsed node types (YYSTYPE is now Node)
git-svn-id: svn://anubis/fart/trunk@88 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-09 00:24:19 +00:00
Josh Holtrop
3da5e6d569 added scenes and scenes/infinity.fart
git-svn-id: svn://anubis/fart/trunk@87 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-09 00:08:36 +00:00
Josh Holtrop
c3e31eab4a added boolean shapes to parser
git-svn-id: svn://anubis/fart/trunk@86 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-08 23:57:57 +00:00
Josh Holtrop
f5dc4c7f93 updated parser rules a bit
git-svn-id: svn://anubis/fart/trunk@85 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-08 23:24:11 +00:00
Josh Holtrop
ba7190d7d8 working on parser
git-svn-id: svn://anubis/fart/trunk@84 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-08 19:42:55 +00:00
Josh Holtrop
80004438be added parser/preparser.cc
git-svn-id: svn://anubis/fart/trunk@83 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-05 03:13:28 +00:00
Josh Holtrop
afd0df3ce4 added LESS and GREATER to parser tokens
git-svn-id: svn://anubis/fart/trunk@82 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-04 20:41:47 +00:00
Josh Holtrop
e758f53a3e added svn:ignore to parser directory for flex and bison produced files
git-svn-id: svn://anubis/fart/trunk@81 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-04 18:51:18 +00:00
Josh Holtrop
dab2381fba parser modules now compiling and linking with main build process
git-svn-id: svn://anubis/fart/trunk@80 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-04 18:50:15 +00:00
Josh Holtrop
1fe251f27d added -lfl to LDFLAGS in main Makefile, added parser/parser.{lex,yy} and parser/Makefile (for real this time)
git-svn-id: svn://anubis/fart/trunk@79 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-04 18:45:55 +00:00
Josh Holtrop
31a7f0fedf updated subdir Makefiles, added parser directory and parser/Makefile
git-svn-id: svn://anubis/fart/trunk@78 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-04 18:35:32 +00:00
Josh Holtrop
d421a652e4 fixed compile warning in util/Color for return value of operator+= and -=
git-svn-id: svn://anubis/fart/trunk@77 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-02 15:29:01 +00:00
Josh Holtrop
78fd509d0f back up to default ambient of (0.1, 0.1, 0.1), Phong shading working
git-svn-id: svn://anubis/fart/trunk@76 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-31 22:42:14 +00:00
Josh Holtrop
c4509d0594 added an ambient color component to Material, changed Lighting to use it
git-svn-id: svn://anubis/fart/trunk@75 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-31 22:34:36 +00:00
Josh Holtrop
7181a894a4 capping colors in main/Lighting; colors are maxing out too easily, might need a better reduction method
git-svn-id: svn://anubis/fart/trunk@74 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-31 18:29:28 +00:00
Josh Holtrop
6fbdf46122 fixed bug in util/Vector::reflect(), Phong shading getting much closer
git-svn-id: svn://anubis/fart/trunk@73 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-31 00:17:09 +00:00
Josh Holtrop
41b4354d52 trying to get Phong shading model working, having very large color values come back though
git-svn-id: svn://anubis/fart/trunk@72 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 20:53:13 +00:00
Josh Holtrop
8677680577 added main/Lighting module, added operator-() to util/Vector, added m_shininess to main/Light
git-svn-id: svn://anubis/fart/trunk@71 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 20:28:05 +00:00
Josh Holtrop
434064c03c updated main/Material setters & getters for diffuse & specular colors
git-svn-id: svn://anubis/fart/trunk@70 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 04:31:18 +00:00
Josh Holtrop
18c0c8d45f added diffuse and specular colors to Material, switched all "private:" to "protected:"
git-svn-id: svn://anubis/fart/trunk@69 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 02:26:46 +00:00
Josh Holtrop
04b8ea5f9e added main/Material module
git-svn-id: svn://anubis/fart/trunk@68 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 02:20:29 +00:00
Josh Holtrop
f087488b39 using Color instead of Vector where appropriate, updated main/Light to use diffuse and specular lights
git-svn-id: svn://anubis/fart/trunk@67 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 01:25:57 +00:00
Josh Holtrop
08a0047ba8 added proj() and reflect() to util/Vector, changed util/Transform to use Vector::proj() in lookAt()
git-svn-id: svn://anubis/fart/trunk@66 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-30 00:18:20 +00:00