39 Commits

Author SHA1 Message Date
Josh Holtrop
60b29d658d modified shapes and Scene to return surface normal in the intersect object
git-svn-id: svn://anubis/fart/branches/2009-03-09_intersect_returning_normals@200 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-09 23:17:31 +00:00
Josh Holtrop
db72b5ba82 scanning scene files for camera definitions before shapes and lights
git-svn-id: svn://anubis/fart/trunk@194 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-08 22:31:15 +00:00
Josh Holtrop
f9cf1381a6 working on shadows but they are appearing in weird places...
git-svn-id: svn://anubis/fart/trunk@185 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-04 02:03:21 +00:00
Josh Holtrop
7d0b4c5646 moved Lighting::computePhong() into Scene, removed Lighting module
git-svn-id: svn://anubis/fart/trunk@184 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-04 00:16:32 +00:00
Josh Holtrop
e233056880 added Color::operator*=(), added jitter computation to reflectance and transparency recursion, recursing now but there is still a jitter or recursion issue
git-svn-id: svn://anubis/fart/trunk@182 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 04:30:46 +00:00
Josh Holtrop
31e2604f98 Scene-load.cc handling material definitions
git-svn-id: svn://anubis/fart/trunk@178 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 02:56:33 +00:00
Josh Holtrop
bb07e12193 added Scene::process{Camera,Options,TransformBlock}()
git-svn-id: svn://anubis/fart/trunk@168 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 22:59:11 +00:00
Josh Holtrop
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
git-svn-id: svn://anubis/fart/trunk@167 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 21:22:30 +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
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
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
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
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
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
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
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
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
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
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
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
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
47dd5a31fe fixed strange compile warning in fart.cc by making constructor arguments to Scene::Scene() consts
git-svn-id: svn://anubis/fart/trunk@64 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-29 14:49:41 +00:00
Josh Holtrop
47cf177a15 removed svn:executable for some files
git-svn-id: svn://anubis/fart/trunk@55 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 18:28:38 +00:00
Josh Holtrop
f4781e2889 updated getRayHits(), fixed bug in Scene::ShapeDistance(Shape *, double)
git-svn-id: svn://anubis/fart/trunk@53 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 01:34:00 +00:00
Josh Holtrop
ecace9f5e8 added Scene::ShapeDistance construct
git-svn-id: svn://anubis/fart/trunk@52 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 00:47:21 +00:00
Josh Holtrop
e8fd42f81f broke traceRay() out into getRayHits()
git-svn-id: svn://anubis/fart/trunk@51 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 00:11:14 +00:00
Josh Holtrop
dad8497bf4 multisampling working
git-svn-id: svn://anubis/fart/trunk@46 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-25 23:01:46 +00:00
Josh Holtrop
a1c81e5adc sphere drawing, but stretched horizontally... have to figure that out yet
git-svn-id: svn://anubis/fart/trunk@40 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 16:00:43 +00:00
Josh Holtrop
f03b19a022 added messages to main/Scene, util/Matrix constructor sets matrix to identity
git-svn-id: svn://anubis/fart/trunk@37 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 14:57:47 +00:00
Josh Holtrop
c32e826ee3 added --field-of-view and m_vfov to Scene
git-svn-id: svn://anubis/fart/trunk@36 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 14:43:49 +00:00
Josh Holtrop
73cdd1a5a1 improving Ray, Sphere, Solver, Scene a bit
git-svn-id: svn://anubis/fart/trunk@35 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-23 14:37:18 +00:00
Josh Holtrop
b6008116cf Scene now writing blank BMP file, accepting settings parameters
git-svn-id: svn://anubis/fart/trunk@24 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-22 02:51:43 +00:00
Josh Holtrop
959219ffb8 updated main/Scene to accept std::map of parameters
git-svn-id: svn://anubis/fart/trunk@23 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-22 02:26:32 +00:00
Josh Holtrop
f143245c53 updated main/Scene module a tad
git-svn-id: svn://anubis/fart/trunk@21 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-20 22:35:44 +00:00
Josh Holtrop
c06255abff added main/Scene module; updated main/fart.cc to use getopt_long()
git-svn-id: svn://anubis/fart/trunk@19 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-20 21:39:44 +00:00