// 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.9 ambient 0.1 } } #declare tx_brown = texture{ pigment{ color rgb < 0.80, 0.68, 0.58 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_grey = texture{ pigment{ color rgb < 0.78, 0.78, 0.78 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_white = texture{ pigment{ color rgb < 0.94, 1.00, 0.94 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_violet = texture{ pigment{ color rgb < 0.54, 0.17, 0.88 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_red = texture{ pigment{ color rgb < 1.00, 0.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_yellow = texture{ pigment{ color rgb < 1.00, 1.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_green = texture{ pigment{ color rgb < 0.00, 1.00, 0.00 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.60 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } // ====================================================================== // DESCRIÇÃO DA CENA // chao #declare chao = box{ <-3,-3,0>, <3,3,0> texture{tx_xadrez}} #declare parede = box{ <-3,-3,0>, <-3,3,3> texture{tx_white}} #declare parede2= box{ <-3,-3,0>, <3,-3,3> texture{tx_white}} #macro pedestal1(altura, textura_pedestal, texto, textura_texto) union { //borda cone{ <0.00, 0.00, 0.00>, 0.4, <0.00, 0.00, 0.1>, 0.4 texture{ textura_pedestal } } //pedestal cone{ <0.00, 0.00, 0.1>, 0.3, <0.00, 0.00, altura>, 0.3 texture{ textura_pedestal } } //texto text {ttf "arial.ttf" texto 0.1, 0.0 texture{textura_texto} rotate <90,0,90> scale 0.5 translate<0.3,-1.0, altura+0.15>} //box box{<0.3,-1.2,altura>, <-0.3, 1.2, altura+0.5> texture{tx_vidro} } } #end #macro pedestal2(altura, textura_pedestal, texto, textura_texto) union { //borda cone{ <0.00, 0.00, 0.00>, 0.4, <0.00, 0.00, 0.1>, 0.4 texture{ textura_pedestal } } //pedestal cone{ <0.00, 0.00, 0.1>, 0.3, <0.00, 0.00, altura>, 0.3 texture{ textura_pedestal } } //texto text {ttf "arial.ttf" texto 0.5, 0.0 texture{textura_texto} rotate <90,0,90> scale 0.5 translate<0.3,-0.50, altura+0.15>} } #end #macro pedestal3(altura, textura_pedestal, texto, textura_texto) union { //borda box{<0.60,0.6,0.00>, <-0.1, -0.1, 0.2> texture{ textura_pedestal} } //pedestal box{ <0.50, 0.50, 0.20>, <0.00, 0.00, altura> texture{ textura_pedestal } } //texto text {ttf "arial.ttf" texto 0.1, 0.0 texture{textura_texto} rotate <90,0,90> scale 0.5 translate<0.5,-1.0, altura+0.15>} //box box{<0.5,-1.2,altura>, <0.0, 1.5, altura+0.5> texture{tx_vidro} } } #end #include "eixos.inc" // Aqui está a cena, finalmente: object{ eixos(3.00) } object{ chao } object{ parede } object{ parede2 } object{ pedestal1(2, tx_grey, "Pronome", tx_violet) translate<-1.5,-1.0,0>} object{ pedestal2(1.5, tx_grey, "Artigo", tx_green) translate<-1.5,2.0,0>} object{ pedestal3(1, tx_brown, "Bem Vindo", tx_yellow) translate<2.0,-0.25,0>} #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 6.0; #declare dir_camera = < 20.00, 7.00, 5.00 >; #declare dist_camera = 16.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)