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
This commit is contained in:
parent
09e97510d8
commit
88444e25b8
@ -471,13 +471,13 @@ refptr<Shape> Scene::processBool(refptr<Node> node)
|
|||||||
it != node->getChildren().end();
|
it != node->getChildren().end();
|
||||||
it++)
|
it++)
|
||||||
{
|
{
|
||||||
if ( node->isShape() )
|
if ( (*it)->isShape() )
|
||||||
{
|
{
|
||||||
switch (shapes_seen)
|
switch (shapes_seen)
|
||||||
{
|
{
|
||||||
case 0: shape1 = processShape(node);
|
case 0: shape1 = processShape(*it);
|
||||||
break;
|
break;
|
||||||
case 1: shape2 = processShape(node);
|
case 1: shape2 = processShape(*it);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
shapes_seen++;
|
shapes_seen++;
|
||||||
|
228
scenes/csg.fart
Normal file
228
scenes/csg.fart
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
|
||||||
|
scene
|
||||||
|
{
|
||||||
|
options
|
||||||
|
{
|
||||||
|
multisample 3
|
||||||
|
}
|
||||||
|
|
||||||
|
camera
|
||||||
|
{
|
||||||
|
position <3, -2.6, 2>
|
||||||
|
look_at <1.5, -1, 0>
|
||||||
|
up <0, 0, 1>
|
||||||
|
}
|
||||||
|
|
||||||
|
light
|
||||||
|
{
|
||||||
|
position <-2, -5, 6>
|
||||||
|
}
|
||||||
|
|
||||||
|
plane
|
||||||
|
{
|
||||||
|
position <1, -1, 1.5>, 3
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <1, 1, 0>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
define material green
|
||||||
|
{
|
||||||
|
color <0, 1, 0>
|
||||||
|
shininess 3
|
||||||
|
}
|
||||||
|
|
||||||
|
subtract
|
||||||
|
{
|
||||||
|
intersect
|
||||||
|
{
|
||||||
|
box
|
||||||
|
{
|
||||||
|
size <1, 1, 1>
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <1, 0.4, 0.4>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sphere
|
||||||
|
{
|
||||||
|
radius 0.67
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <0, 0, 1>
|
||||||
|
shininess 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
union
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
|
||||||
|
union
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <1, 0, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <0, 1, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
scale <0.5, 0.5, 0.5>
|
||||||
|
{
|
||||||
|
translate <0, -3, -2>
|
||||||
|
{
|
||||||
|
intersect
|
||||||
|
{
|
||||||
|
box
|
||||||
|
{
|
||||||
|
size <1, 1, 1>
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <1, 0.4, 0.4>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sphere
|
||||||
|
{
|
||||||
|
radius 0.67
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <0, 0, 1>
|
||||||
|
shininess 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <0, -1.5, -1>
|
||||||
|
{
|
||||||
|
box
|
||||||
|
{
|
||||||
|
size <1, 1, 1>
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <1, 0.4, 0.4>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <1.5, 0, -1>
|
||||||
|
{
|
||||||
|
sphere
|
||||||
|
{
|
||||||
|
radius 0.67
|
||||||
|
material
|
||||||
|
{
|
||||||
|
color <0, 0, 1>
|
||||||
|
shininess 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <3, 0, -2>
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
|
||||||
|
union
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <1, 0, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <0, 1, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <0, -1.5, -1>
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <1.5, 0, -1>
|
||||||
|
{
|
||||||
|
union
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <1, 0, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <0, 1, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <0, -1.5, -1>
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <1, 0, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
translate <1.5, 0, -1>
|
||||||
|
{
|
||||||
|
cyl
|
||||||
|
{
|
||||||
|
size <0.35, 0.35, 1.2>
|
||||||
|
rotate 90, <0, 1, 0>
|
||||||
|
translate <0, 0, -0.6>
|
||||||
|
material green
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user