#include "materials.inc" define camera c { translate <0,0,-30> look_at <0,0,0> } define material MyLambertian { bsdf : class BsdfLambertian { } diffuse 0.6 ambient 0 } // An area light source. torus { translate <0,0,0> rotate <45,45,0> radius_a 1.7 radius_b 0.5 material : extends MyLambertian { emission : class PatternChecker { color CRed base_color CGreen size 2 } color CWhite } } sphere { translate <0,0,0> radius 1.0 material : extends MyLambertian { emission : class PatternLeopard { color CBlue base_color CDimGrey zoom <0.10,0.10,0.10> } color CWhite } } // Junk to get in the way of the light... aggregate { sphere { translate <0,-4,0> radius 2 } sphere { translate <0,4,0> radius 2 } plane { translate <0,-10,0> normal <0,1,0> } plane { translate <0,10,0> normal <0,-1,0> } plane { translate <0,0,5> normal <0,0,-1> } plane { translate <2.5,0,2.5> normal <-.707,0,-.707> } plane { translate <-2.5,0,2.5> normal <.707,0,-.707> } material : extends MyLambertian { color CWhite } } scene { camera c width 400 height 400 output { type "png" name "area_light2.png" } renderer : class Raytracer { aa_depth 8 sampling "stochastic" } }