// Last edited on 2003-04-12 05:03:38 by stolfi #include "textures.inc" #include "colors.inc" // The include files contain #include "stones.inc" // pre-defined scene elements #include "shapes.inc" #include "glass.inc" #include "metals.inc" #include "woods.inc" background{ color rgb < 0.00, 0.03, 0.15 > } light_source { 12*< 10, 10.00, -7.00 > color rgb 1.2*< 1.00, 1.00, 1.00 > } light_source { 12*< -5, 3.00, -10.00 > color rgb 0.9*< 1.00, 1.00, 1.00 > } camera { location 0.85*< 7, 7, -10> right -0.60*x up 0.80*y sky < 0.00, 1.00, 0.00 > look_at <0, 4, 0> } #declare cor_cristal = < 0.20, 0.90, 1.00 >; #declare tx_cristal = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal filter 1 } } #declare cor_espelho = < 0.7, 0.7, 0.7 >; #declare tx_espelho = texture{ pigment{ rgb cor_espelho } finish{ ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.02 roughness 0.05 } } #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_C = //marrom texture { pigment { color rgb < 1, 0.70, 0.40 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_D = //vermelho texture { pigment { color rgb < 1.00, 0.10, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare plano = plane { <0, 1, 0>, -1 pigment { checker color Red, color Blue } } #declare esfera = sphere { <0,0,0>, 1 texture { tinta_A } } #declare nariz = cone { <0, 0, 0>, .2 <0, 0, -1.2>, 0 translate <0,4,-.9> texture { Silver_Metal } } #declare pontas0 = union { object { nariz } object { nariz rotate <0,90,0>} object { nariz rotate <0,-90,0>} object { nariz rotate <0,180,0>} translate <0,-4,.9> } #declare pontas = union { object { pontas0 } object { pontas0 rotate <0,0,90> } object { pontas0 rotate <45,0,90> } object { pontas0 rotate <0,0,45> } object { pontas0 rotate <0,0,-45> } } #declare bomba0 = union { object { esfera translate <0,4,0> texture { Silver_Metal } } object { pontas translate <0,4,.9> scale .9} } #declare bomba = object { bomba0 translate <-3,-3,.5> } #declare caixa1 = box { <0, 0,-3>, // Near lower left corner < 6, 6, 3> // Far upper right corner texture { tinta_C } } #declare vidros = union{ box { <0.5, 0.5,-3.01>, // Near lower left corner < 2.5,5.5,-2.99> // Far upper right corner texture { tx_cristal } } box { <3.5, 0.5,-3.01>, // Near lower left corner <5.5,5.5,-2.99> // Far upper right corner texture { tx_cristal } } } #declare caixad = difference { object { caixa1 } object { vidros } } #declare frente = box { <0,0,-3.01>, // Near lower left corner <6,6,-2.99> // Far upper right corner texture { tx_cristal } } #declare prat = box { <0,2.98,-2.98>, // Near lower left corner <6,3.02,3> // Far upper right corner texture { tinta_C } } #declare caixadir = union { object { caixad } object { vidros } object { prat } } #declare caixae = difference { object { caixa1 } object { frente } } #declare caixaesq = union { object { caixae translate <-6,0,0>} object { frente translate <-6,0,0>} } union { // Caixas deslocadas para permitir visualização melhor da bomba object { caixaesq translate 0.7*<-10,0,15> } object { caixadir translate 0.7*<-10,0,15> } object { bomba } object { plano } }