69 Commits

Author SHA1 Message Date
Josh Holtrop
5264f1de7e reworking distrib infrastructure; server still terminates execution prematurely
git-svn-id: svn://anubis/fart/trunk@237 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-14 02:33:37 +00:00
Josh Holtrop
e21d948d52 added distrib desctructor, closing sockets
git-svn-id: svn://anubis/fart/trunk@235 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-13 22:34:58 +00:00
Josh Holtrop
898bf3a01c added mutex and std::map to keep track of tasks in progress; Scene waits for their completion
git-svn-id: svn://anubis/fart/trunk@232 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-13 03:31:44 +00:00
Josh Holtrop
c9c3c942fb fixed bug by multiplying task_id by UNIT_TASK_SIZE
git-svn-id: svn://anubis/fart/trunk@229 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-06 22:17:09 +00:00
Josh Holtrop
8424e34a91 set sockets to close on exec
git-svn-id: svn://anubis/fart/trunk@228 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-06 21:57:18 +00:00
Josh Holtrop
33f554d714 reworking distrib & Scene to work together
git-svn-id: svn://anubis/fart/trunk@226 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-06 18:38:30 +00:00
Josh Holtrop
d6aa5b6e69 added pthread support for starting the server listen/accept loop
git-svn-id: svn://anubis/fart/trunk@224 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-05 18:41:39 +00:00
Josh Holtrop
6fdaf01214 passing client options to distributed clients, ready to actually distribute work
git-svn-id: svn://anubis/fart/trunk@223 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-05 18:12:44 +00:00
Josh Holtrop
1dbe7040e4 working on distribution infrastructure some more, ssh working
git-svn-id: svn://anubis/fart/trunk@222 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-05 16:42:30 +00:00
Josh Holtrop
584160265f updated scenes/die.fart, moved where backface checking was occurring in main/Scene
git-svn-id: svn://anubis/fart/trunk@217 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 22:07:06 +00:00
Josh Holtrop
7d9eb65fde working on die scene, fixed bug in Scene-load for loading colors applied to lights
git-svn-id: svn://anubis/fart/trunk@216 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 21:11:01 +00:00
Josh Holtrop
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
git-svn-id: svn://anubis/fart/trunk@211 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-12 02:30:28 +00:00
Josh Holtrop
9f9ce1a8f5 added maximum depth command-line argument (-d) and scene option (max_depth); prettified elapsed time output when greater than 60 seconds
git-svn-id: svn://anubis/fart/trunk@203 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-10 00:01:21 +00:00
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
feeaa34d62 tweaked Scene::calculateLightContribution() and scenes/cyls.fart slightly
git-svn-id: svn://anubis/fart/trunk@189 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-07 18:38:40 +00:00
Josh Holtrop
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
git-svn-id: svn://anubis/fart/trunk@187 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-06 19:12:26 +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
1f00625379 made verbose the default option
git-svn-id: svn://anubis/fart/trunk@181 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-03 03:22:12 +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
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()
git-svn-id: svn://anubis/fart/trunk@161 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 17:07:30 +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
5035c80d94 Subtract working, but reflected normals being returned... and where did my plane and cyl go?
git-svn-id: svn://anubis/fart/trunk@159 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-28 00:06:12 +00:00
Josh Holtrop
bcbec65a8f converted shapes/Intersect::intersect() to using BoolIntersectionList
git-svn-id: svn://anubis/fart/trunk@152 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-24 03:04:26 +00:00
Josh Holtrop
ab2832a660 fixed compile issues with switch to new Shape::IntersectionList
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@145 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:26:45 +00:00
Josh Holtrop
0c7f85db96 updating IntersectList to new Shape::IntersectionList format
git-svn-id: svn://anubis/fart/branches/2009-02-23_Shape_IntersectList_Update@144 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-23 20:24:30 +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
354edb9662 removed extraneous parse() function from Scene.cc
git-svn-id: svn://anubis/fart/trunk@137 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 22:00:51 +00:00
Josh Holtrop
52103bf543 added static const cyan color, added cone to sample scene
git-svn-id: svn://anubis/fart/trunk@134 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-19 18:30:02 +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
4b0f506522 added Color::yellow, finished shapes/Box, added a couple boxes to sample scene
git-svn-id: svn://anubis/fart/trunk@121 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-02-17 05:36:48 +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
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
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
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
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
9041ec6a1c shapes/Shape.h now including specific shape headers (after base class definition), test/tests.cc fixed compiler warning, main/Scene drawing demo Plane, util/Transform not needlessly re-initializing m_matrix
git-svn-id: svn://anubis/fart/trunk@62 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-28 21:41:19 +00:00
Josh Holtrop
a52b456bfa updated Makefile to use -O1 in CXXFLAGS instead of -O3; -O2 and above currently break the app
git-svn-id: svn://anubis/fart/trunk@61 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-28 18:51:14 +00:00
Josh Holtrop
fa353392c6 updating main/Scene to accept points back instead of distances from intersect()
git-svn-id: svn://anubis/fart/trunk@57 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-01-27 23:03:24 +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