// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_metal = texture{ pigment{ color rgb < 0.40, 0.40, 0.40 > } finish{ diffuse 0.8 reflection 0.1 ambient 0.8 specular 0.5 roughness 0.005 } } #declare tx_plastico = texture{ pigment{ color rgb < 0.80, 0.10, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_plastico_verde = texture{ pigment{ color rgb < 0.10, 0.80, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 0.360, 0.360, 0.40 > } finish{ diffuse 0.9 reflection 0.01 specular 0.5 ambient 0.1 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.50, 0.80, 0.00 >, color rgb < 0.30, 0.50, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare ib = 0; #declare raio = 0.75; #include "eixos.inc" #declare chao = box{ <-400,-400,-1>, <+400,+400,0> } #macro castelo(n,h) union{ object{ cylinder{<-4*n,-4*n,0>,<-4*n,-4*n,4*n>, n*raio texture{ tx_metal }} } object{ cylinder{<+4*n,-4*n,0>,<+4*n,-4*n,4*n>, n*raio texture{ tx_metal }} } object{ cylinder{<-4*n,+4*n,0>,<-4*n,+4*n,4*n>, n*raio texture{ tx_metal }} } object{ cylinder{<+4*n,+4*n,0>,<+4*n,+4*n,4*n>, n*raio texture{ tx_metal }} } object{ box{<-4*n,-4*n,0>,<+4.0*n,-3.4*n,3.8*n> texture{ tx_fosca }} } object{ box{<-4*n,+4*n,0>,<+4.0*n,+3.4*n,3.8*n> texture{ tx_fosca }} } object{ box{<-4*n,-4*n,0>,<-3.4*n,+4.0*n,3.8*n> texture{ tx_fosca }} } difference{ object{ box{<+4*n,-4*n,0>,<+3.4*n,+4.0*n,3.8*n> texture{ tx_fosca }} } object{ box{<+4.1*n,-1*n,-0.1>,<+3.3*n,+1*n,1.5*n> texture{ tx_fosca }} } } object{ box{<+4.4*n,+4.4*n,4*n><+3.6*n,+3.6*n,6*(n+h)> texture{ tx_metal }} } object{ box{<-4.4*n,+4.4*n,4*n><-3.6*n,+3.6*n,6*(n+h)> texture{ tx_metal }} } object{ box{<+4.4*n,-4.4*n,4*n><+3.6*n,-3.6*n,6*(n+h)> texture{ tx_metal }} } object{ box{<-4.4*n,-4.4*n,4*n><-3.6*n,-3.6*n,6*(n+h)> texture{ tx_metal }} } object{ cone{<+4*n,+4*n,6*(n+h)>,n*raio*0.8,<+4*n,+4*n,7*(n+h)>,0 texture{ tx_metal }} } object{ cone{<+4*n,-4*n,6*(n+h)>,n*raio*0.8,<+4*n,-4*n,7*(n+h)>,0 texture{ tx_metal }} } object{ cone{<-4*n,+4*n,6*(n+h)>,n*raio*0.8,<-4*n,+4*n,7*(n+h)>,0 texture{ tx_metal }} } object{ cone{<-4*n,-4*n,6*(n+h)>,n*raio*0.8,<-4*n,-4*n,7*(n+h)>,0 texture{ tx_metal }} } } #end #declare roleta = seed(100); #macro castelo_completo(p,pmin) #local p1=0.5*p; #local h=rand(roleta); #if(p>pmin) union{ object{ castelo(p,h) } object{ castelo_completo(p1,pmin) translate<-4.7*p1,-4.7*p1,0> scale 0.7 } object{ castelo_completo(p1,pmin) translate<+4.7*p1,-4.7*p1,0> scale 0.7 } object{ castelo_completo(p1,pmin) translate<-4.7*p1,+4.7*p1,0> scale 0.7 } object{ castelo_completo(p1,pmin) translate<+4.7*p1,+4.7*p1,0> scale 0.7 } } #else union{ object{ castelo(p1,h) } } #end #end union{ object{ eixos(1.00) } object{ chao translate < 0,0,0 > texture{ tx_xadrez } } object{ castelo_completo(8,1) } } #include "camlight.inc" #declare centro_cena = < -20.00, 0.00, 0.00 >; #declare raio_cena = 100.0; #declare dir_camera = < 6,0,6 >; #declare dist_camera = 200.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)