// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2010-03-04 15:44:01 by stolfi // ====================================================================== // CORES E TEXTURAS #include "textures.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.30, 0.95, 0.10 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 0.75, 0.25, 0.05 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_arq = texture{ pigment{ color rgb < 0.25, 0.25, 0.05 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_cadeira = texture{ pigment{ color rgb < 0.3, 0.3, 0.8 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_torc1 = texture{ pigment{ color rgb < 0.5, 0, 0.8 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_torc2 = texture{ pigment{ color rgb < 1, 1, 1 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_cabeca = texture{ pigment{ color rgb < 0.9, 0.53, 0.39 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } 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 #declare raio = 2.000; // Partes da cena: #declare chao = box{ <-15,-15,-1>, <+15,+15,0> } #declare parede1 = box{ <-16,-15,-1>, <-15,+15,6> texture{ Dark_Wood } } #declare parede2 = box{ <-16,-16,-1>, <+16,-15,6> texture{ Dark_Wood } } #declare porta = box{ <-1.5,-17,-1>, <+1.5,-14,3> texture{ Dark_Wood } } #declare fachada = text { ttf "arial.ttf" "Museu MC930" 0.1 0.0 texture { Silver_Metal } rotate < 90, 0, 180 > scale < 2, 2, 2 > translate < 8, 17, 4 > } #macro Estatua(texto, fonte, larg_y, incl, textura, escala, transX, transY, transZ) union { union { box{ <-2,-2,3>, <+2,+2,+4> } cylinder{ < 0, 0, 0 >, < 0, 0, 3 >, 0.5*raio } box{ <-1.5,-1.5,0>, <+1.5,+1.5,+0.5> } texture{ White_Marble } } text { ttf fonte texto larg_y incl texture { textura } rotate < 90, 0, 180 > scale < escala, escala, escala > translate < transX, transY, transZ > } } #end #include "eixos.inc" // Aqui está a cena, finalmente: union{ //object{ eixos(20.00) } object{ chao texture{ White_Wood } } object{ parede1 } object{ parede1 translate < 31, 0, 0 > } object{ parede2 } object{ difference{ object{ parede2 translate < 0, 31, 0 > } object{ porta translate < 0, 31, 0 > } } } object{ Estatua("Asimov", "arial.ttf", 0.5, 0.0, Red_Marble, 3, 5, -0.4, 4.5) translate < 8, -8, 0 > } object{ Estatua("Moore", "latinwd.ttf", 0.4, 0.3, PinkAlabaster, 1.5, 3, -0.4, 4.5) translate < -8, -6, 0 > } object{ Estatua("Camoes", "alger.ttf", 0.6, 0.0, Soft_Silver, 2, 4, -0.4, 4.5) translate < 4, 1, 0 > } object{ Estatua("Orwell", "comic.ttf", 0.5, 0.2, Gold_Metal, 2.5, 4, -0.4, 4.5) translate < -5, 6, 0 > } object{ fachada } } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 30.0; //40 #declare dir_camera = < 10.00, 20.00, 15.00 >; #declare dist_camera = 80.0; //120 #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)