// 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_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 letras_final(texto,etapa) union{ text { ttf "arial.ttf" substr(texto,1,etapa) 0,0 } } #end #macro letra_chegando(pos_ini,pos_fim,frac,prox_letra) union{ text{ttf "arial.ttf" prox_letra 0,0 translate } } #end #macro logotipo(texto,fase) #local n = strlen(texto); #local etapa = int(fase*n); #local frac = fase*n-etapa; union{ letras_final(texto,etapa) #local prox_letra = substr(texto,etapa+1,1); #local par = mod(etapa,2); #if (par = 0 ) #local pos_ini = <4+etapa,5,0>; #else #local pos_ini = <4+etapa,-5,0>; #end #local pos_fim = <(etapa)*0.55,0,0>; letra_chegando(pos_ini,pos_fim,frac,prox_letra) } #end #include "eixos.inc" // Aqui está a cena, finalmente: union{ object { logotipo("Testando ",clock) translate <-3,0,0>} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 0.00 >; #declare raio_cena = 10.0; #declare dir_camera = <0,-0.0001,5 >; #declare dist_camera = 10; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)