// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS 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_terra = texture{ pigment{ color rgb <0.58,0.37,0.18>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_cimento = texture{ pigment{ color rgb <0.71,0.71,0.71>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_grama = texture{ pigment{ color rgb <0.6,0.8,0.2>} finish{ diffuse 0.8 ambient 0.1} } #declare tx_madeira = texture{ pigment{ color rgb <0.8,0.7,0.5>} finish{ diffuse 0.8 ambient 0.1} } // ====================================================================== // DESCRIÇÃO DA CENA // Partes da cena: #macro arvore(n,altura,raio) #if(n=0) union{ object{tronco(2,0.25)} object{dinheiro translate <0,0,2.4>} } #else union{ object{tronco(altura,raio)} object{ arvore(n-1,altura-1,raio-0.2) rotate <45,45,0> translate <0,0,altura>} object{ arvore(n-1,altura-1,raio-0.2) rotate <-45,-45,0> translate <0,0,altura>} } #end #end #macro tronco(altura,raio) union{ cylinder{ <0,0,0>,<0,0,altura>,raio } texture{ tx_madeira} } #end #declare dinheiro= union{ box{<-0.08,-1,-0.4>,<0.08,1,0.4>} sphere{<0,0,0>,0.2} texture { tx_grama } } #declare pedaco_caixa = box{<-3.5,-3.5,0>,<-3,3.5,0.5>} #declare caixa= union{ object {pedaco_caixa} object {pedaco_caixa rotate 90*z} object {pedaco_caixa rotate 180*z} object {pedaco_caixa rotate 270*z} texture { tx_cimento } } #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } #include "eixos.inc" // Aqui está a cena, finalmente: union{ object{ chao translate < 0,0,0 > texture{ tx_grama } } object { arvore(3,5,0.8)} object { caixa } object { box{<-3.4,-3.4,0>,<3.4,3.4,0.2>} texture { tx_terra} } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 25.0; #declare dir_camera = < 20, 0, 20.00 >; #declare dist_camera = 25.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)