SBT-raytracer 1.0

camera {
position=( 7,11,6);
viewdir=(-0.3,-1, -0.5 );
updir=( 0, 0, 1 );
fov=45;
}

ambient_light {
color = (1.0, 1.0, 0.9);
}
directional_light {
direction = (-1, -1.5, -1.5 );
colour = (0.3, 0.3, 0.3);
}
directional_light {
direction = (-1, -1, -1 );
colour = (0.3, 0.3, 0.3);
}


translate(3, 0, 0,
trimesh {
material = { diffuse=(1,0,0) };
points = (
(-4,-4,0),
(-4,4,0),
(3.2,3.2,0.4),
(3.2,-3.2,0.4),
(-3.2,3.2,0.4),
(-3.2,-3.2,0.4),
(4,-4,0),
(4,4,0) );
faces = (
(4,5,3,2),
(1, 7, 6, 0),
(0, 5, 4, 1),
(0, 6, 3, 5),
(6, 7, 2, 3),
(2, 7, 1, 4));
material = {
diffuse = (0.3,0.3,0.3);
specular = (0.2,0.2,0.2);
emissive = (0.4,0.4,0.4);
shininess = 0.72;
}
}
)
translate(3, 0, 1,
sphere {
material = {
emissive = (0.2, 0.2, 0.2);
ambient = (.3, .3, .3);
diffuse = (0.9, 0.9, 0.9);
shininess = 3;
}
});
translate(3, 0.6, 1.6,
scale ( 0.2,
sphere {
material = {
emissive = (0, 0, 0);
ambient = (.05, .05, .05);
diffuse = (0.5, 0.5, 0.5);
shininess = 0.5;
}
} ));
translate(3, 0, 2.3,
scale ( 0.6,
sphere {
material = {
emissive = (0.1, 0.1, 0.1);
ambient = (.3, .3, .3);
diffuse = (0.9, 0.9, 0.9);
shininess = 3;
}}));
translate(3, 0.5, 2.3,
scale ( 0.14,
sphere {
material = {
emissive = (0, 0, 0);
ambient = (.05, .05, .05);
diffuse = (0.5, 0.5, 0.5);
shininess = 0.5;
}
} ));
translate(3, 0.5, 2.6,
scale ( 0.12,
sphere {
material = {
emissive = (0, 0, 0);
ambient = (.05, .05, .05);
diffuse = (0.5, 0.5, 0.5);
shininess = 0.5;
}
} ));
translate(3, 0, 3,
scale ( 0.4,
sphere {
material = {
emissive = (0.1, 0.1, 0.1);
ambient = (.3, .3, .3);
diffuse = (0.9, 0.9, 0.9);
shininess = 3;
}}));
translate(3, 0.4, 3,
rotate (1, 0, 0, -1.57,
cone {
material = {
diffuse = (.7, .4, 0);
emissive = (.7, .4, 0);
}
height = 0.2;
bottom_radius = 0.04;
top_radius = 0.01
capped = true;
}));
translate(2.87, 0.4, 3.1,
scale ( 0.06,
sphere {
material = {
emissive = (0, 0, 0);
ambient = (.05, .05, .05);
diffuse = (0.5, 0.5, 0.5);
shininess = 0.5;
}
} ));
translate(3.13, 0.4, 3.1,
scale ( 0.06,
sphere {
material = {
emissive = (0, 0, 0);
ambient = (.05, .05, .05);
diffuse = (0.5, 0.5, 0.5);
shininess = 0.5;
}
} ));
translate(2.93, 0, 3.2,
rotate(0, 1, 0, -.5,
transform(
(0.3, 0, 0, 0),
(0, 0.3, 0, 0),
(0, 0, 0.7, 0),
(0, 0, 0, 1),

cylinder {
material = {
diffuse = (0.1, 0.1, 0.1);
ambient = (0.1, 0.1, 0.1);
specular = (0.1, 0.1, 0.1);
shininess = 9;
}
})));
translate(2.93, 0, 3.2,
rotate(0, 1, 0, -.5,
transform(
(0.5, 0, 0, 0),
(0, 0.5, 0, 0),
(0, 0, 0.1, 0),
(0, 0, 0, 1),

cylinder {
material = {
diffuse = (0.1, 0.1, 0.1);
ambient = (0.1, 0.1, 0.1);
specular = (0.1, 0.1, 0.1);
shininess = 9;
}
})));
translate(5, -2.3, 0.9,
box {
material = {
diffuse = (0.9, 0.5, 0.5);
specular = (0.1, 0.1, 0.1);
shininess = .97;
}
});
translate(1, -2, 0.9,
box {
material = {
diffuse = (0, 0, 0.5);
specular = (0.1, 0.1, 0.1);
transmissive = (0, 0, .6);
shininess = .97;
}
});
translate(5, -2.3, 1.7,
cone {
material = {
diffuse = (0, .2, 0.1);
emissive = (0, .2, 0.1);
}
height = 6;
bottom_radius = 2;
top_radius = 0.3
capped = true;
});
translate(5, -2.3, 2.1,
cone {
material = {
diffuse = (0, .2, 0.1);
emissive = (0, .2, 0.1);
}
height = 6;
bottom_radius = 2;
top_radius = 0.3
capped = true;
});
translate(5, -2.3, 2.9,
cone {
material = {
diffuse = (0, .2, 0.1);
emissive = (0, .2, 0.1);
}
height = 4;
bottom_radius = 1.85;
top_radius = 0.2
capped = true;
});