145 Commits

Author SHA1 Message Date
Josh Holtrop
b0dfa2ee1f bool sub-objects using relative coordinates, shape definitions using relative coordinates, this allows transform blocks in each, and shape references to combine absolute transform with the relative transform
git-svn-id: svn://anubis/fart/trunk@287 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 19:37:05 +00:00
Josh Holtrop
b4a2c8ef8e allowing transform blocks inside boolean shapes, but using a shape reference to a boolean shape does not propagate transform properly
git-svn-id: svn://anubis/fart/trunk@286 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 18:33:26 +00:00
Josh Holtrop
c1f39da3e2 added shape definition processing and shape cloning capabilities
git-svn-id: svn://anubis/fart/trunk@284 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 17:11:14 +00:00
Josh Holtrop
5308913bdb added shape definitions into parser, not using them yet
git-svn-id: svn://anubis/fart/trunk@283 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 16:35:16 +00:00
Josh Holtrop
340742d27b added command-line options --ambient-occlusion and --preview, console displays max depth parameter
git-svn-id: svn://anubis/fart/trunk@282 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-09 16:18:51 +00:00
Josh Holtrop
7bac2fb076 added Polygon::add(), Polygon::containsPoint(); initial attempt at rendering Extrude objects
git-svn-id: svn://anubis/fart/trunk@272 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-02 16:14:46 +00:00
Josh Holtrop
b51d11d043 catch a few error conditions for extrudes and polygons
git-svn-id: svn://anubis/fart/trunk@271 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-01 21:24:39 +00:00
Josh Holtrop
4c5444f053 creating polygons for extrude objects, ngon takes radius parameter
git-svn-id: svn://anubis/fart/trunk@270 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-01 20:35:20 +00:00
Josh Holtrop
7d844667c3 added Extrude and Polygon classes, still in progress
git-svn-id: svn://anubis/fart/trunk@269 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-01 20:04:44 +00:00
Josh Holtrop
7a3ed0213b flush stdout after writing % complete instead of waiting for line buffering
git-svn-id: svn://anubis/fart/trunk@266 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-01 13:51:20 +00:00
Josh Holtrop
781b46dcd4 display percent of image complete on command line
git-svn-id: svn://anubis/fart/trunk@265 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-30 16:05:42 +00:00
Josh Holtrop
96f2b7d276 added ambient_occlusion global scene option to parser and vim keywords; added ambient_occlusion scene file
git-svn-id: svn://anubis/fart/trunk@263 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-29 19:37:53 +00:00
Josh Holtrop
f5ac18d34f doing many more samples for ambient occlusion looks better
git-svn-id: svn://anubis/fart/trunk@262 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-29 18:13:19 +00:00
Josh Holtrop
77e99ac5a5 added initial ambient occlusion attempt... but don't like it
git-svn-id: svn://anubis/fart/trunk@261 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-29 17:44:36 +00:00
Josh Holtrop
c115dec69b added ambient parameter in global options{} for parser to set scene's global ambient color
git-svn-id: svn://anubis/fart/trunk@260 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-29 15:39:35 +00:00
Josh Holtrop
7fdb084aad soft shadows working better after replacing M_2_PI with 2.0 * M_PI since M_2_PI is 2/pi, not 2*pi...
git-svn-id: svn://anubis/fart/trunk@258 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-29 14:59:44 +00:00
Josh Holtrop
57a4e6ed8a trying new jitter method for soft shadows, getting better
git-svn-id: svn://anubis/fart/trunk@257 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-07-13 06:35:45 +00:00
Josh Holtrop
eb14077ab7 added jitter parameter to lights, currently uses random vectors, which i'm not happy with; added Vector::getPerpendicularVector() which will be used to replace random jitter for lights
git-svn-id: svn://anubis/fart/trunk@256 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-25 18:12:00 +00:00
Josh Holtrop
1af787b9ab added jitter and radius parameters to light objects; not using them yet
git-svn-id: svn://anubis/fart/trunk@255 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-25 16:37:17 +00:00
Josh Holtrop
bc27be0f85 added Ray::randomRay() to generated a ray with origin at (0,0,0) and a random direction
git-svn-id: svn://anubis/fart/trunk@254 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-25 16:16:08 +00:00
Josh Holtrop
ef003f6100 added exposure equations to avoid saturation; default exposure 1.0; added "exposure" keyword to global scene options in parser
git-svn-id: svn://anubis/fart/trunk@250 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2010-06-25 04:05:34 +00:00
Josh Holtrop
054a5e8f0e distributed slave nodes forking for each core to take advantage of multicore architectures
git-svn-id: svn://anubis/fart/trunk@245 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-15 02:44:05 +00:00
Josh Holtrop
f6c6e8ec36 added startChildren() in main/fart module, soon to be replaced with a straight fork() call
git-svn-id: svn://anubis/fart/trunk@244 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-15 02:35:14 +00:00
Josh Holtrop
37c319a782 moved distrib object to a top-level object in the function so it would not be destroyed before main() exits; added exit(0) call at end of main()
git-svn-id: svn://anubis/fart/trunk@242 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-15 01:03:42 +00:00
Josh Holtrop
d98c26da66 rearranged the failure handling code
git-svn-id: svn://anubis/fart/trunk@241 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-15 00:58:35 +00:00
Josh Holtrop
aaa38f6f2c added TCP_NODELAY socket option to communication sockets for messages to be sent immediately
git-svn-id: svn://anubis/fart/trunk@239 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-14 23:53:50 +00:00
Josh Holtrop
95341049c8 fixed output file name NULL pointer bug
git-svn-id: svn://anubis/fart/trunk@238 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-04-14 22:13:48 +00:00
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
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)
git-svn-id: svn://anubis/fart/trunk@215 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-15 19:51:21 +00:00
Josh Holtrop
f103b71ed6 added SUBDIRS to top-level Makefile to make adding subdirectories easier
git-svn-id: svn://anubis/fart/trunk@214 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-13 19:26:12 +00:00
Josh Holtrop
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
git-svn-id: svn://anubis/fart/trunk@212 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-12 02:59:35 +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
091fcadd39 added -d flag to usage information
git-svn-id: svn://anubis/fart/trunk@207 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-10 18:29:45 +00:00
Josh Holtrop
72a5023539 updated Makefiles to not print the "*.dep: No such file or directory" warnings
git-svn-id: svn://anubis/fart/trunk@204 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-10 01:54:23 +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
88444e25b8 added scenes/csg.fart, fixed bug in loading boolean objects in Scene-load.cc
git-svn-id: svn://anubis/fart/trunk@196 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-09 00:09:33 +00:00
Josh Holtrop
09e97510d8 added built-in timer around Scene::render() call
git-svn-id: svn://anubis/fart/trunk@195 7f9b0f55-74a9-4bce-be96-3c2cd072584d
2009-03-08 22:51:47 +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
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