/* */ #include "retalho.inc" #include "nuvens.inc" camera{ location < 7.0, 10.0, 5.0 > // Posição do observador. right -1*x // Largura RELATIVA da imagem. up 1*y // Altura RELATIVA da imagem. sky z // Qual direção é "para cima"? look_at < -2.0, 0.0, 0.0 > // Para onde a câmera está apontando. } // ====================================================================== // FONTES DE LUZ light_source{ 10 * < +50.0, -30.0, +50.0 > // Posição da lâmpada. color rgb 1.0 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source{ 10 * < +50.0, 0.0, +10.0 > // Posição da lâmpada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source{ 10 * < -50.0, 10.0, +50.0 > // Posição da lâmpada. color rgb 1 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // CORES E TEXTURAS //background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.5, 0.5, 1.00 > filter 0.90 } finish{ diffuse 0.03 reflection 0.15 ambient 0.02 specular 0.15 roughness 0.005 } } #declare tx_plastico = texture{ pigment{ color rgb < 0.20, 0.85, 1.00 > } finish{ diffuse 0.9 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_metal = texture{ pigment{ color rgb 1} finish{ ambient 0.5 diffuse 0.1 reflection 0.5 } } #declare tx_xadrez = texture{ pigment { checker color rgb 0, color rgb 1 } scale 0.1 //finish{ diffuse 0.9 ambient 0.1 specular 0.5 roughness 0.005 } } // ====================================================================== // DESCRIÇÃO DA CENA #declare metadeCarro = union { difference // Carroceria { union { #declare p1_32 = <2,1,1>; #declare p1_31 = ; #declare p1_33 = <2,3,2>; #declare p1_34 = <2,3,0>; #declare p1_22 = <3,1,1>; #declare p1_21 = ; #declare p1_23 = <3,3,2>; #declare p1_24 = <2.7,3,0>; #declare p1_12 = <3,1,0>; #declare p1_11 = ; #declare p1_13 = <3.5,2,0>; #declare p1_14 = <2.8,3,0>; ///////////////////// #declare p2_32 = <-1,1,1>; #declare p2_31 = ; #declare p2_33 = <-1,3,2>; #declare p2_34 = <-1,3,0>; #declare p2_22 = <0,1,1>; #declare p2_21 = ; #declare p2_23 = <0,3,2>; #declare p2_24 = <0,3,0>; #declare p2_12 = (p2_22+p1_32)/2; #declare p2_11 = ; #declare p2_13 = (p2_23+p1_33)/2; #declare p2_14 = (p2_24+p1_34)/2; #declare p1_42 = (p2_22+p1_32)/2; #declare p1_41 = ; #declare p1_43 = (p2_23+p1_33)/2; #declare p1_44 = (p2_24+p1_34)/2; ///////////////////// #declare p3_32 = <-4,1,2>; #declare p3_31 = ; #declare p3_33 = <-4,3,2>; #declare p3_34 = <-4,3,0>; #declare p3_22 = <-3,1,2>; #declare p3_21 = ; #declare p3_23 = <-3,3,2>; #declare p3_24 = <-3,3,0>; #declare p3_12 = (p3_22+p2_32)/2; #declare p3_11 = ; #declare p3_13 = (p3_23+p2_33)/2; #declare p3_14 = (p3_24+p2_34)/2; #declare p2_42 = (p3_22+p2_32)/2; #declare p2_41 = ; #declare p2_43 = (p3_23+p2_33)/2; #declare p2_44 = (p3_24+p2_34)/2; ///////////////////// #declare p4_32 = <-7,1,2>; #declare p4_31 = ; #declare p4_33 = <-7,3,2>; #declare p4_34 = <-6.5,3,0.1>; #declare p4_22 = <-6,1,2>; #declare p4_21 = ; #declare p4_23 = <-6,3,2>; #declare p4_24 = <-6,3,0>; #declare p4_12 = (p4_22+p3_32)/2; #declare p4_11 = ; #declare p4_13 = (p4_23+p3_33)/2; #declare p4_14 = (p4_24+p3_34)/2; #declare p3_42 = (p4_22+p3_32)/2; #declare p3_41 = ; #declare p3_43 = (p4_23+p3_33)/2; #declare p3_44 = (p4_24+p3_34)/2; ///////////////////// #declare p4_42 = <-7,1,0>; #declare p4_41 = ; #declare p4_43 = <-7.5,2,0>; #declare p4_44 = <-7.1,3,0>; // r1 object { retalho(p1_41,p1_42,p1_43,p1_44, p1_31,p1_32,p1_33,p1_34, p1_21,p1_22,p1_23,p1_24, p1_11,p1_12,p1_13,p1_14, tx_fosca, tx_metal) } // r2 object { retalho(p2_41,p2_42,p2_43,p2_44, p2_31,p2_32,p2_33,p2_34, p2_21,p2_22,p2_23,p2_24, p2_11,p2_12,p2_13,p2_14, tx_fosca, tx_metal) } // r3 object { retalho(p3_41,p3_42,p3_43,p3_44, p3_31,p3_32,p3_33,p3_34, p3_21,p3_22,p3_23,p3_24, p3_11,p3_12,p3_13,p3_14, tx_fosca, tx_metal) } // r4 object { retalho(p4_41,p4_42,p4_43,p4_44, p4_31,p4_32,p4_33,p4_34, p4_21,p4_22,p4_23,p4_24, p4_11,p4_12,p4_13,p4_14, tx_fosca, tx_metal) } } union // Espaco para as rodas { cylinder {<1, 2, 0>, <1, 4, 0>, 0.75} cylinder {<-5, 2, 0>, <-5, 4, 0>, 0.95} } } cylinder {<1, 2.4, 0>, <1, 2.8, 0>, 0.65} cylinder {<1, 2.5, 0>, <1, 2.85, 0>, 0.55 texture {tx_plastico}} cylinder {<-5, 2.4, 0>, <-5, 2.8, 0>, 0.85} cylinder {<-5, 2.5, 0>, <-5, 2.85, 0>, 0.75 texture {tx_plastico}} } object { metadeCarro } object { metadeCarro scale <0,-1,0> }