// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_coco = texture{ pigment{ color rgb <0.75, 0.5, 0> } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.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_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.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_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare raio = 2.000; #macro uma_muralha(lado, centro) #local r = lado / 2; #local e = .1; #local h = 2; difference{ box{ centro + <-r - e, -r - e, 0> centro + } box{ centro + <-r, -r, -1> centro + } texture { tx_plastico } } #end #macro muralha(centro, h0, e0, qtd) uma_muralha(e0 * 2, centro) torres(centro, h0, e0, qtd) #if (qtd > 0) muralha(centro + <2*e0, 2*e0, 0>, h0, e0/2, qtd - 1) muralha(centro + <-2*e0, 0, 0>, h0, e0/2, qtd - 1) muralha(centro + <0, 2*e0, 0>, h0, e0/2, qtd - 1) muralha(centro + <0, -2*e0, 0>, h0, e0/2, qtd - 1) #else #end #end #macro uma_torre(centro, h, e) cylinder{ centro, centro + <0, 0, h>, e texture { tx_coco } } #end #declare roleta = seed(1); #macro torres(centro, h0, e0, qtd) uma_torre(centro, h0, e0) #if (qtd > 0) #local rndnumber = rand(roleta) * 2; torres(centro + , h0/2 * rndnumber, e0/2, qtd - 1) #local rndnumber = rand(roleta) * 2; torres(centro + <-e0/2, -e0/2, h0>, h0/2 * rndnumber, e0/2, qtd - 1) #else cone { centro + <0, 0, h0>, e0 * 1.5 centro + <0, 0, h0 * 1.5>, 0 texture { tx_plastico } } #end #end #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } object{ chao translate < 0,0,-5 > texture{ tx_xadrez } } muralha(<0, 0, -5>, 3, 1, 3) #include "camlight.inc" #declare centro_cena = < 0, 0, 0 >; #declare raio_cena = 8.0; #declare dir_camera = < 0, 1, .5 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)