SBT-raytracer 1.0

camera {
position = (-4,0.8,-6);
viewdir = (0.6,-0.2,1);
aspectratio = 1;
updir = (0,1,0);
}

/*directional_light {
direction = (0, 0, 1);
colour = (1.0, 1.0, 1.0);
}*/

point_light {
position = (-1,4,-0.4);
colour = (1.0,1.0,0.7)
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}

point_light {
position = (-2.5,0,-5.5);
colour = (1.0,1.0,1.0)
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}

translate(-1,0,0,
scale(0.8,
square {
material = {
diffuse = (0.4,0.4,0);
specular = (0.8,0.8,0);
shininess = 102.4;
}
}))


translate(-1.5,2,2,
scale(0.8,
sphere {
material = {
diffuse = (0.4,0.4,0);
specular = (0.3,0.3,0.3);
shininess = 102.4;
transmissive = (0.8, 0.8, 0.8);
}
}))

translate(0.6,0,-2,
scale(0.6,
sphere {
material = {
diffuse = (0.1,0.4,0.4);
shininess = 100.2;
transmissive = (0.55, 0.55, 0.55);
}
}))

translate( 0,0,6,
scale(20,
rotate(1,0,0,3.1415,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))

translate( 0,-3.5,3,
scale(20,
rotate(1,0,0,-1.57,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))


translate( 0,10,3,
scale(20,
rotate(1,0,0,-1.57,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))


translate( 6,0,0,
scale(20,
rotate(0,1,0,-1.57,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))


translate( -10,0,0,
scale(20,
rotate(0,1,0,-1.57,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))

translate( 0,0,-6,
scale(20,
rotate(1,0,0,3.1415,
square {
material = {
diffuse = (0.4,0.4,0.4);
specular = (0.4,0.4,0.4);
shininess = 100.0;
}})))


translate( -2,0,-2,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.2,0.8,0.2);
//transmissive = (0.65, 0.65, 0.65);
reflective = (0.1,0.1,0.1);
}})))

translate( -2,1,-2,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.3,0.2,0.6);
//transmissive = (0.65, 0.65, 0.65);
reflective = (0.1,0.1,0.1);
}})))

translate( -2,2,-2,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.8,0.1,0.2);
//transmissive = (0.65, 0.65, 0.65);
reflective = (0.1,0.1,0.1);
}})))

translate( 4,-1,4,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.1,0.15,0.4);
transmissive = (0.2, 0.3, 0.2);
}})))


translate( 4,0,4,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.5,0.5,0.5);
transmissive = (0.4, 0.4, 0.4);
}})))

translate( 4,1,4,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.6,0.7,0.6);
transmissive = (0.3, 0.3, 0.3);
}})))

translate( 4,2,4,
scale(1,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.8,0.8,0.2);
transmissive = (0.65, 0.65, 0.65);
}})))

translate( -2.0,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.8,0.8,0.2);
transmissive = (0.65, 0.65, 0.65);
}})))


translate( -2.5,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.8,0.0,0.2);
transmissive = (0.65, 0.65, 0.65);
}})))


translate( -3,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.73,0.45,0.78);
transmissive = (0.2, 0.65, 0.65);
}})))

translate( -3.5,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.36,0.42,0.2);
transmissive = (0.9, 0.8, 0.9);
}})))

translate( -4,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.16,0.68,0.43);
transmissive = (0.65, 0.65, 0.65);
}})))
translate( -4,-0.5,-4,
scale(0.5,
rotate(1,0,0,-1.57,
box {
material = {
diffuse = (0.2,0.4,0.9);
transmissive = (0.8, 0.8, 0.8);
}})))



translate( 0,0,0,
scale(1.5,
rotate(0,1,1,45,
square {
material = {
diffuse = (0.8,0.8,0.8);
specular = (0.8,0.8,0.8);
shininess = 140.0;
reflective = (0.6,0.6,0.6);
}})))