// Last edited on 2009-07-23 17:15:40 by stolfilocal // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare BLUE = texture { pigment { color rgb < 0.10, 0.20, 1.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare YELLOW = texture { pigment { color rgb < 1.0, 1.0, 0.0 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare GREEN = texture { pigment { color rgb < 0.20, 0.80, 0.10 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare RED = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare SILVER = texture { pigment { color rgb < 0.86, 0.86, 0.86 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare GOLDENROD = texture { pigment { color rgb < 0.854, 0.64, 0.125 > } finish { diffuse 0.8 specular 0.1 roughness 0.005 ambient 0.1 } } #declare rec_cube = difference{ box{ <0,0,0>, <9,9,9> } box{ <-3,3,3>, <12,6,6> } box{ <3,-3,3>, <6,12,6> } box{ <3,3,-3>, <6,6,12> } } #declare escala = 1/3; #macro my_cube(n) #if(n = 0) object{ rec_cube } #else merge{ object{ my_cube(n-1) scale} object{ my_cube(n-1) scale translate <3,0,0>} object{ my_cube(n-1) scale translate <6,0,0>} object{ my_cube(n-1) scale translate <0,3,0>} object{ my_cube(n-1) scale translate <6,3,0>} object{ my_cube(n-1) scale translate <0,6,0>} object{ my_cube(n-1) scale translate <3,6,0>} object{ my_cube(n-1) scale translate <6,6,0>} object{ my_cube(n-1) scale translate <0,0,3>} object{ my_cube(n-1) scale translate <6,0,3>} object{ my_cube(n-1) scale translate <0,6,3>} object{ my_cube(n-1) scale translate <6,6,3>} object{ my_cube(n-1) scale translate <0,3,6>} object{ my_cube(n-1) scale translate <6,3,6>} object{ my_cube(n-1) scale translate <0,0,6>} object{ my_cube(n-1) scale translate <3,0,6>} object{ my_cube(n-1) scale translate <6,0,6>} object{ my_cube(n-1) scale translate <0,6,6>} object{ my_cube(n-1) scale translate <3,6,6>} object{ my_cube(n-1) scale translate <6,6,6>} } #end #end #macro wall(nwalls) #declare num = 0; merge{ #while(num < nwalls) object{ my_cube(1) translate } object{ my_cube(1) translate } #declare num = num + 1; #end scale<1/3,1/3,1/3> } #end #declare castle = merge{ cylinder { <7.5,7.5,10> <7.5,7.5,0>,2 } object{ wall(5) } object{ wall(5) translate <0, 12, 0> } object{ wall(3) rotate <0, 0, 90> translate <3,3,0> } object{ wall(3) rotate <0, 0, 90> translate <15, 3, 0> } } object{castle texture{YELLOW}} // Original camera parameters: // #local cam_ctr = <3.00,3.00,0.00> // #local cam_vec = (<-6.0,-12.00,20.00>-<3.00,3.00,0.00>) // #local cam_sky = z #include "camlight.inc" camlight(<3.00,3.00,0.00>,<10,7,5>,50.0,z,1.0)