// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 1, 1, 1 > } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_gray = texture{ pigment{ color rgb < 1.00, 1.00, 1.00 > } } #declare raio = 1.000; #declare wall_base = box { <0,-5,-2> <-2,5,-1> texture{ tx_gray } } #declare wall_block = box { <0,-4,-1> <-2,-2,0> texture{ tx_gray } } #macro wall_pattern() union { object {wall_base} union { #declare i=0; #while (i< 3) object{ wall_block translate <0, 3*i, 0>} #declare i= i+1; #end } } #end #macro castle(p) #if (p>0) #local p1= p - 1; union{ object { wall_pattern() } #local i=0; #while(i<3) object {castle(p1) translate<0,0,2> scale <1/4,1/4,1/4> } object {castle(p1) translate<0,-12,2> scale <1/4,1/4,1/4> } object {castle(p1) translate<0,12,2> scale <1/4,1/4,1/4> } #local i= i+1; #end } #else object {wall_pattern() } #end #end #declare roleta= seed(8); #macro tower() #local s = rand(roleta); union{ object { sphere{ <-1,-4.5,2> 2*s texture{ tx_vidro } } } object { cylinder{ <-1,-4.5,2> <-1,-4.5,-1> s texture{ tx_vidro } } } } #end #include "eixos.inc" object{ eixos(3.00) } castle(3) tower() object { tower() translate<0,3,0> } object { tower() translate<0,6,0> } object { tower() translate<0,9,0> } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 10.0; #declare dir_camera = < 100.01, 30.01, 30.01 >; #declare dist_camera = 30.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)