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++)
|
||||
{
|
||||
if ( node->isShape() )
|
||||
if ( (*it)->isShape() )
|
||||
{
|
||||
switch (shapes_seen)
|
||||
{
|
||||
case 0: shape1 = processShape(node);
|
||||
case 0: shape1 = processShape(*it);
|
||||
break;
|
||||
case 1: shape2 = processShape(node);
|
||||
case 1: shape2 = processShape(*it);
|
||||
break;
|
||||
}
|
||||
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