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...
Josh Holtrop2010-06-29 14:59:44 +00:00
57a4e6ed8a
trying new jitter method for soft shadows, getting better
Josh Holtrop2010-07-13 06:35:45 +00:00
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
Josh Holtrop2010-06-25 18:12:00 +00:00
1af787b9ab
added jitter and radius parameters to light objects; not using them yet
Josh Holtrop2010-06-25 16:37:17 +00:00
bc27be0f85
added Ray::randomRay() to generated a ray with origin at (0,0,0) and a random direction
Josh Holtrop2010-06-25 16:16:08 +00:00
c731d598ea
added exposure to keywords in vim syntax
Josh Holtrop2010-06-25 14:30:25 +00:00
ef003f6100
added exposure equations to avoid saturation; default exposure 1.0; added "exposure" keyword to global scene options in parser
Josh Holtrop2010-06-25 04:05:34 +00:00
8fb2492e0a
added double cast operator to Vector to return its length
Josh Holtrop2010-06-18 01:53:54 +00:00
054a5e8f0e
distributed slave nodes forking for each core to take advantage of multicore architectures
Josh Holtrop2009-04-15 02:44:05 +00:00
f6c6e8ec36
added startChildren() in main/fart module, soon to be replaced with a straight fork() call
Josh Holtrop2009-04-15 02:35:14 +00:00
a82110ab24
no longer printing messages when connections established
Josh Holtrop2009-04-15 01:55:25 +00:00
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()
Josh Holtrop2009-04-15 01:03:42 +00:00
584160265f
updated scenes/die.fart, moved where backface checking was occurring in main/Scene
Josh Holtrop2009-03-15 22:07:06 +00:00
7d9eb65fde
working on die scene, fixed bug in Scene-load for loading colors applied to lights
Josh Holtrop2009-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 Holtrop2009-03-15 19:51:21 +00:00
f103b71ed6
added SUBDIRS to top-level Makefile to make adding subdirectories easier
Josh Holtrop2009-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 Holtrop2009-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 Holtrop2009-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 Holtrop2009-03-12 02:30:28 +00:00
72a5023539
updated Makefiles to not print the "*.dep: No such file or directory" warnings
Josh Holtrop2009-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 Holtrop2009-03-10 00:01:21 +00:00
4716b200fd
merged in branches/2009-03-09_intersect_returning_normals
Josh Holtrop2009-03-09 23:24:01 +00:00
51c5baf59a
updated subtract-subtract.fart and .todo
Josh Holtrop2009-03-09 23:21:23 +00:00
60b29d658d
modified shapes and Scene to return surface normal in the intersect object
Josh Holtrop2009-03-09 23:17:31 +00:00
feeaa34d62
tweaked Scene::calculateLightContribution() and scenes/cyls.fart slightly
Josh Holtrop2009-03-07 18:38:40 +00:00
608939bff4
Scene-load setting light position based on the current transform
Josh Holtrop2009-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 Holtrop2009-03-06 19:12:26 +00:00
b50c4de1bc
added parser, nodes, Scene-load support for transparency in materials
Josh Holtrop2009-03-05 20:04:13 +00:00
f9cf1381a6
working on shadows but they are appearing in weird places...
Josh Holtrop2009-03-04 02:03:21 +00:00
7d0b4c5646
moved Lighting::computePhong() into Scene, removed Lighting module
Josh Holtrop2009-03-04 00:16:32 +00:00
e5cae862eb
updated sample scenes with reflections
Josh Holtrop2009-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 Holtrop2009-03-03 04:30:46 +00:00
56a5fa6166
added cyls.fart sample scene, removed hard-coded scene from Scene-load.cc; reading from a file is working!
Josh Holtrop2009-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 Holtrop2009-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 Holtrop2009-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 Holtrop2009-03-01 23:50:53 +00:00
adf7997417
added .todo file, commented out hard-coded sample scene
Josh Holtrop2009-03-01 22:52:51 +00:00
65c447f85a
filled out Scene::processLight(), added color keyword to light specification
Josh Holtrop2009-03-01 22:41:23 +00:00
0ea6e96e0a
filled out Scene::processTransformBlock()
Josh Holtrop2009-03-01 22:31:42 +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 Holtrop2009-02-28 21:22:30 +00:00
e40677ba77
added "cyl" token to parser and parser rules for cyl object
Josh Holtrop2009-02-28 20:32:23 +00:00
0462a2e7bc
working on Scene::process*() functions to load the scene from a file
Josh Holtrop2009-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 Holtrop2009-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 Holtrop2009-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 Holtrop2009-02-28 17:07:30 +00:00
c78e5941c8
stubbed out recursion, changed Scene::getRayHits() to Scene::getRayClosestHit()
Josh Holtrop2009-02-28 16:16:40 +00:00
5035c80d94
Subtract working, but reflected normals being returned... and where did my plane and cyl go?
Josh Holtrop2009-02-28 00:06:12 +00:00
ef25fe4a5b
added Subtract, including Union and Subtract in Shape.h
Josh Holtrop2009-02-27 22:43:49 +00:00