Commit Graph

  • 6a9eded895 updated .todo again Josh Holtrop 2009-03-16 13:28:17 +00:00
  • 584160265f updated scenes/die.fart, moved where backface checking was occurring in main/Scene Josh Holtrop 2009-03-15 22:07:06 +00:00
  • 7d9eb65fde working on die scene, fixed bug in Scene-load for loading colors applied to lights Josh Holtrop 2009-03-15 21:11:01 +00:00
  • 5590c533ce Fixed boolean objects to determine if rays start inside or outside the boolean; changed constructors to accept a list of shapes instead of just two shapes; changed parser to accept any number of top-level shapes inside of a boolean shape block; changed scenes/die.fart to reflect this change (a drastic simplification) Josh Holtrop 2009-03-15 19:51:21 +00:00
  • f103b71ed6 added SUBDIRS to top-level Makefile to make adding subdirectories easier Josh Holtrop 2009-03-13 19:26:12 +00:00
  • 195593cc9b updated .todo, added scenes/die.fart which illustrates boolean object problem where continuation rays starting in the middle of a boolean object do not realize that fact Josh Holtrop 2009-03-12 03:23:10 +00:00
  • 91e490b65a added shapes/shapes.h, shapes/BoolShape, made Intersect, Union, and Subtract derive from BoolShape, made BoolShape::setMaterial() call setMaterial() on sub-shapes so that materials applied to boolean objects will be applied to all sub-objects Josh Holtrop 2009-03-12 02:59:35 +00:00
  • 86888fa461 changed Scene::calculateLightContribution() to return a Color instead of a double and take into account the color of any semi-transparent objects that are passed through en route to the light source... this leads to shadow colors tainted by the color of the objects through which the light is travelling Josh Holtrop 2009-03-12 02:30:28 +00:00
  • a24452af01 updated .todo again Josh Holtrop 2009-03-11 21:14:49 +00:00
  • 5e85cdf387 updated .todo yet again Josh Holtrop 2009-03-11 21:12:11 +00:00
  • f31d6bf61a updated .todo Josh Holtrop 2009-03-11 20:05:46 +00:00
  • 091fcadd39 added -d flag to usage information Josh Holtrop 2009-03-10 18:29:45 +00:00
  • 79f8f347e4 updated .todo yet again Josh Holtrop 2009-03-10 02:12:25 +00:00
  • 462f6f47e8 updated .todo again Josh Holtrop 2009-03-10 02:11:55 +00:00
  • 72a5023539 updated Makefiles to not print the "*.dep: No such file or directory" warnings Josh Holtrop 2009-03-10 01:54:23 +00:00
  • 9f9ce1a8f5 added maximum depth command-line argument (-d) and scene option (max_depth); prettified elapsed time output when greater than 60 seconds Josh Holtrop 2009-03-10 00:01:21 +00:00
  • 4716b200fd merged in branches/2009-03-09_intersect_returning_normals Josh Holtrop 2009-03-09 23:24:01 +00:00
  • 51c5baf59a updated subtract-subtract.fart and .todo Josh Holtrop 2009-03-09 23:21:23 +00:00
  • 60b29d658d modified shapes and Scene to return surface normal in the intersect object Josh Holtrop 2009-03-09 23:17:31 +00:00
  • 186bd0f8b5 added 2009-03-09_intersect_returning_normals branch Josh Holtrop 2009-03-09 22:06:29 +00:00
  • 4aaf5a065c updated .todo again Josh Holtrop 2009-03-09 16:41:18 +00:00
  • 5a4bee840d added scenes/subtract-subtract.fart (illustrating bug) and updated .todo Josh Holtrop 2009-03-09 15:12:54 +00:00
  • 88444e25b8 added scenes/csg.fart, fixed bug in loading boolean objects in Scene-load.cc Josh Holtrop 2009-03-09 00:09:33 +00:00
  • 09e97510d8 added built-in timer around Scene::render() call Josh Holtrop 2009-03-08 22:51:47 +00:00
  • db72b5ba82 scanning scene files for camera definitions before shapes and lights Josh Holtrop 2009-03-08 22:31:15 +00:00
  • 12eb2f2476 updated .todo, scenes/infinity.fart with a second light source Josh Holtrop 2009-03-08 21:08:17 +00:00
  • 9972ebdb41 fixed nasty bug in shapes/Cyl where intersection results were being allowed if they were negative Josh Holtrop 2009-03-08 16:03:52 +00:00
  • 14b6735c1c minor formatting Josh Holtrop 2009-03-08 15:29:50 +00:00
  • 1ad08d9998 cleaning up shapes/Cyl a bit Josh Holtrop 2009-03-07 19:17:47 +00:00
  • feeaa34d62 tweaked Scene::calculateLightContribution() and scenes/cyls.fart slightly Josh Holtrop 2009-03-07 18:38:40 +00:00
  • 608939bff4 Scene-load setting light position based on the current transform Josh Holtrop 2009-03-06 23:32:00 +00:00
  • 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 Josh Holtrop 2009-03-06 19:12:26 +00:00
  • b50c4de1bc added parser, nodes, Scene-load support for transparency in materials Josh Holtrop 2009-03-05 20:04:13 +00:00
  • f9cf1381a6 working on shadows but they are appearing in weird places... Josh Holtrop 2009-03-04 02:03:21 +00:00
  • 7d0b4c5646 moved Lighting::computePhong() into Scene, removed Lighting module Josh Holtrop 2009-03-04 00:16:32 +00:00
  • e5cae862eb updated sample scenes with reflections Josh Holtrop 2009-03-03 04:37:09 +00:00
  • e233056880 added Color::operator*=(), added jitter computation to reflectance and transparency recursion, recursing now but there is still a jitter or recursion issue Josh Holtrop 2009-03-03 04:30:46 +00:00
  • 1f00625379 made verbose the default option Josh Holtrop 2009-03-03 03:22:12 +00:00
  • 73cc495a79 removed debug print Josh Holtrop 2009-03-03 03:08:11 +00:00
  • bb5eb07c75 fixed bug in material definitions, added them to cyls.fart, they are working now! Josh Holtrop 2009-03-03 03:06:56 +00:00
  • 31e2604f98 Scene-load.cc handling material definitions Josh Holtrop 2009-03-03 02:56:33 +00:00
  • fce4d82a73 added material definitions to parser Josh Holtrop 2009-03-03 02:30:43 +00:00
  • 56a5fa6166 added cyls.fart sample scene, removed hard-coded scene from Scene-load.cc; reading from a file is working! Josh Holtrop 2009-03-02 00:41:27 +00:00
  • 10500d08aa fixed parser bug with sphere_items, made VFOVNode inherit from NumberNode, updated sample scene infinity.fart, reading scene from a file appears to be working! Josh Holtrop 2009-03-02 00:25:41 +00:00
  • 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 Josh Holtrop 2009-03-02 00:17:56 +00:00
  • 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 Josh Holtrop 2009-03-01 23:50:53 +00:00
  • adf7997417 added .todo file, commented out hard-coded sample scene Josh Holtrop 2009-03-01 22:52:51 +00:00
  • 65c447f85a filled out Scene::processLight(), added color keyword to light specification Josh Holtrop 2009-03-01 22:41:23 +00:00
  • 0ea6e96e0a filled out Scene::processTransformBlock() Josh Holtrop 2009-03-01 22:31:42 +00:00
  • 84249c8231 filled in Scene::processOptions() Josh Holtrop 2009-02-28 23:22:36 +00:00
  • bb07e12193 added Scene::process{Camera,Options,TransformBlock}() Josh Holtrop 2009-02-28 22:59:11 +00:00
  • 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 Josh Holtrop 2009-02-28 21:22:30 +00:00
  • 5a83786103 filled out Scene::processPlane() Josh Holtrop 2009-02-28 20:39:29 +00:00
  • e40677ba77 added "cyl" token to parser and parser rules for cyl object Josh Holtrop 2009-02-28 20:32:23 +00:00
  • 0462a2e7bc working on Scene::process*() functions to load the scene from a file Josh Holtrop 2009-02-28 19:59:22 +00:00
  • 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 Josh Holtrop 2009-02-28 18:25:12 +00:00
  • 44ba550f68 moved sample scene a bit, reset plane color to white, showing a Subtract object in the sample scene Josh Holtrop 2009-02-28 17:10:20 +00:00
  • 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() Josh Holtrop 2009-02-28 17:07:30 +00:00
  • c78e5941c8 stubbed out recursion, changed Scene::getRayHits() to Scene::getRayClosestHit() Josh Holtrop 2009-02-28 16:16:40 +00:00
  • 5035c80d94 Subtract working, but reflected normals being returned... and where did my plane and cyl go? Josh Holtrop 2009-02-28 00:06:12 +00:00
  • ef25fe4a5b added Subtract, including Union and Subtract in Shape.h Josh Holtrop 2009-02-27 22:43:49 +00:00
  • 5af3f0deca i think i have union working, need to test after transparency is working Josh Holtrop 2009-02-27 22:29:27 +00:00
  • 27cea5e702 added Union shape based on Intersect Josh Holtrop 2009-02-27 18:34:08 +00:00
  • 16f38f1f27 added sample Intersect object to sample scene, added Color::magenta constant Josh Holtrop 2009-02-24 03:35:20 +00:00
  • f7eb4cd4b9 finished implementing shapes/Intersect::intersect() Josh Holtrop 2009-02-24 03:22:15 +00:00
  • 527dc6f1dc added virtual ~Solver() in util/Solver to avoid compiler warnings Josh Holtrop 2009-02-24 03:05:43 +00:00
  • bcbec65a8f converted shapes/Intersect::intersect() to using BoolIntersectionList Josh Holtrop 2009-02-24 03:04:26 +00:00
  • 2e6c62a032 working on Intersect::intersect() Josh Holtrop 2009-02-24 02:17:22 +00:00
  • 7d64dd745d got Shape::IntersectionList::merge() to sort the result with IntersectionComparator successfully Josh Holtrop 2009-02-24 00:38:09 +00:00
  • 25d6432dbd trying to get a custom comparator to sort my IntersectionList after a merge() Josh Holtrop 2009-02-23 22:26:46 +00:00
  • 56278a8337 changed IntersectionList into a class so i could add merge() Josh Holtrop 2009-02-23 21:39:56 +00:00
  • 5f18370846 merged /branches/2009-02-23_Shape_IntersectList_Update into trunk Josh Holtrop 2009-02-23 20:37:57 +00:00
  • ab2832a660 fixed compile issues with switch to new Shape::IntersectionList Josh Holtrop 2009-02-23 20:26:45 +00:00
  • 0c7f85db96 updating IntersectList to new Shape::IntersectionList format Josh Holtrop 2009-02-23 20:24:30 +00:00
  • 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. Josh Holtrop 2009-02-23 19:09:36 +00:00
  • e23d5cdca4 added shapes/Intersect, need to rework IntersectList Josh Holtrop 2009-02-23 05:51:51 +00:00
  • 29b60f346e added process*() functions in Scene-load.cc for various shape types Josh Holtrop 2009-02-21 14:36:18 +00:00
  • 864ef9b51b added skeleton process{Material,Light,Shape} functions to Scene-load.cc Josh Holtrop 2009-02-20 17:40:34 +00:00
  • 94548d4418 Light.h including concrete light type class definitions Josh Holtrop 2009-02-20 16:35:48 +00:00
  • 5949a813df moved processNode(), processChildren(), and load() into main/Scene-load.cc Josh Holtrop 2009-02-20 16:33:05 +00:00
  • 354edb9662 removed extraneous parse() function from Scene.cc Josh Holtrop 2009-02-19 22:00:51 +00:00
  • cda03ad45a moved main/Material to util/Material Josh Holtrop 2009-02-19 18:45:52 +00:00
  • 7f9547c010 fixed bug in shapes/Cyl intersection routine for top cap distance Josh Holtrop 2009-02-19 18:34:32 +00:00
  • 52103bf543 added static const cyan color, added cone to sample scene Josh Holtrop 2009-02-19 18:30:02 +00:00
  • 2b1603cf26 updated shapes/Cyl::getNormalAt(), added Cyl.h to shapes/Shape.h include list Josh Holtrop 2009-02-19 18:15:49 +00:00
  • 39e77678ee updated Cyl intersection routine Josh Holtrop 2009-02-19 18:03:23 +00:00
  • d8648b0770 working on shapes/Cyl Josh Holtrop 2009-02-19 04:35:51 +00:00
  • 561098001a added shapes/Cyl, needs finishing Josh Holtrop 2009-02-18 23:06:45 +00:00
  • 395161eb66 parser.lex keeping track of line number now Josh Holtrop 2009-02-18 02:10:27 +00:00
  • 76260a7696 bison yyerror() passing yylloc to errFunc() but line number is coming out as 1 Josh Holtrop 2009-02-18 01:57:50 +00:00
  • aaaac6d887 added location directives to flex and bison sources Josh Holtrop 2009-02-18 01:35:09 +00:00
  • b9cc1fe9f9 added Scene::processNode() and Scene::processChildren() Josh Holtrop 2009-02-18 01:10:57 +00:00
  • 30932d00e9 Scene::load() calling parse() now Josh Holtrop 2009-02-17 23:40:09 +00:00
  • b0014e34d1 made parsed_scene_node static to parser, parse() returns refptr<Node> now Josh Holtrop 2009-02-17 23:31:19 +00:00
  • 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 Josh Holtrop 2009-02-17 22:59:53 +00:00
  • a8e898e445 changed DEC_NUMBER from generating a NumberNode to an IntegerNode in parser.lex Josh Holtrop 2009-02-17 14:15:34 +00:00
  • 4b0f506522 added Color::yellow, finished shapes/Box, added a couple boxes to sample scene Josh Holtrop 2009-02-17 05:36:48 +00:00
  • 13fedccf4c updated svn:ignore on parser directory for C++ version of flex output file Josh Holtrop 2009-02-17 05:21:06 +00:00
  • 22519b5a0c fixed bug in shapes/Plane, added shapes/Box Josh Holtrop 2009-02-17 05:20:38 +00:00
  • 0fea65d4ef added transform_block to parser, {Translate,Rotate,Scale}BlockNode nodes Josh Holtrop 2009-02-17 04:06:07 +00:00