There are four light sources in this scene: one purple point source, one green point source, one red point source and the main light red. This scene has three squares two of which are very reflective in the bottom and right parts of the screen (the non reflective square is on the right). There are four smaller reflective spheres which the viewer cannot see which are used to reflect light. There is one main sphere in the center of the screen.

Ray File:

SBT-raytracer 1.0

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

/*
camera {
position = (-4,0.8,-1);
viewdir = (1.2,-0.2,0.5);
aspectratio = 1;
updir = (0,1,0);
}
*/

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

point_light {
position = (-1,4,-0.4);
colour = (.8,.3,0.1)
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}

point_light {
position = (3,0,-4);
colour = (0.0,1.0,0.0)
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}


point_light {
position = (2,1,-7);
colour = (.2,0.0,.2)
constant_attenuation_coeff= 0.25;
linear_attenuation_coeff = 0.003372407;
quadratic_attenuation_coeff = 0.000045492;
}



translate(-5,.3,0,
scale(0.8,
sphere {
material = {
diffuse = (0.4,0.4,0);
specular = (0.8,0.8,0);
shininess = 102.4;
}
}))

translate(4,.1,-2,
scale(0.6,
sphere {
material = {
diffuse = (0.0,0.4,0.4);
specular = (0.0,0.8,0.8);
shininess = 115.2;
}
}))

translate( 0,0,6,
scale(20,
rotate(1,0,0,3.1415,
square {
material = {
diffuse = (0.2,0.1,0.1);
specular = (1.0,1.0,1.0);
shininess = 128.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.0,0.8,0.8);
shininess = 115.2;
}})))

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



translate(0,0,0,
scale(2,
sphere {
material = {
diffuse = (0.4,0.4,0);
specular = (0.0,0.3,7);
shininess = 102.4;
}
}))

translate(-5,-2,0,
scale(.4,
sphere {
material = {
diffuse = (0.2,0.7,.2);
specular = (0.0,0.3,7);
shininess = 102.4;
}
}))

translate(-5,-1,.4,
scale(.4,
sphere {
material = {
diffuse = (0.6,0.2,.1);
specular = (0.0,0.3,7);
shininess = 102.4;
}
}))