// Cores background { color rgb < 1.00, 1.00, 1.00 > } #declare vermelho = texture { pigment { color rgb < 1.00, 0.00, 0.00 > } } #declare verde = texture { pigment { color rgb < 0.00, 1.00, 0.00 > } } #declare azul = texture { pigment { color rgb < 0.00, 0.00, 1.00 > } } #declare cinza = texture { pigment { color rgb < 0.33, 0.33, 0.33 > } } #declare branco = texture { pigment { color rgb < 1.00, 1.00, 1.00 > } } #declare pub = texture { pigment { image_map { jpeg "foo.jpg" } } rotate z * 90 rotate y * 180 scale <6.00, 4.00, 1> } #declare Metallic_Finish = finish { metallic ambient 0.1 diffuse 0.65 specular 0.85 roughness 0.01 reflection 0.45 brilliance 1.5 } #declare Aluminum = texture { pigment { rgb <0.55, 0.5, 0.45> } finish { Metallic_Finish } } #declare Starfield = texture { pigment { granite color_map { [0.72 rgb 0.00] [0.72 rgb 0.20] [0.75 rgb 0.40] [0.78 rgb 0.60] [0.81 rgb 0.80] [0.85 rgb 0.95] [0.91 rgb 1.00] [0.91 rgb 0.00] } scale 0.015 } finish { ambient 1 } } // Descricao da cena #include "eixos.inc" #include "retalho.inc" #macro predio() union { box { <0.00, 0.00, 0.00> <4.00, 4.00, 6.00> texture { azul } } box { <4.01, 1.00, 5.00> <3.50, 3.00, 4.00> texture { branco } } box { <4.01, 1.00, 3.00> <3.50, 3.00, 2.00> texture { branco } } } #end #macro bandeira() #local p11 = <0.00, 0.00, 1.00>; #local p12 = <0.10, 0.05, 1.05>; #local p13 = <0.00, -0.05, 0.95>; #local p14 = <0.05, 0.05, 0.90>; #local p21 = <0.00, 0.00, 0.75>; #local p22 = <-0.05, 0.10, 0.80>; #local p23 = <-0.10, 0.05, 0.75>; #local p24 = <0.00, -0.05, 0.70>; #local p31 = <0.00, 0.00, 0.50>; #local p32 = <-0.05, -0.10, 0.50>; #local p33 = <0.05, -0.05, 0.55>; #local p34 = <0.10, 0.05, 0.45>; #local p41 = <0.00, 0.00, 0.25>; #local p42 = <0.05, 0.10, 0.30>; #local p43 = <-0.10, -0.05, 0.25>; #local p44 = <0.00, 0.00, 0.20>; object { retalho(p11,p12,p13,p14,p21,p22,p23,p24,p31,p32,p33,p34,p41,p42,p43,p44,90, vermelho, vermelho) } #end #macro anuncio() box { <0.00, 0.00, 0.00> <6.00, 4.00, 0.01> texture { pub } } #end union { object { eixos( 3.00 ) } object { predio() } object { anuncio() rotate y * -90 rotate z * 90 translate y * 4.01 translate x * 4.01 } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 15.00; #declare dir_camera = < 14.00, 10.00, 4.00 >; #declare dist_camera = 15.00; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)