// Exemplo de arquivo de descricao de cena para POV-ray // Last edited on 2003-10-22 04:16:24 by stolfi global_settings { max_trace_level 10 } // ====================================================================== // CÂMERA #include "colors.inc" #declare ctr = < 0.00, 3.00, 2.30 >; #declare camdir = < -4.00, -10.00, 3.50 >; camera { location ctr + 1.20*camdir // Posição do observador. right -1.00*x up 0.75*y sky z // Qual direção é "para cima"? look_at ctr // Para onde a câmera está apontando. } // Nota: os parâmetros "right" e "up" devem ter a mesma proporção // que os parâmetros ${WIDTH} e ${HEIGHT} no Makefile. // ====================================================================== // FONTES DE LUZ light_source { 10 * < -50.0, -30.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < +50.0, -10.0, +10.0 > // Posição da lâmpada. color rgb 0.8 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare cor_cristal = <1,1,1>; #declare cor_espelho = <1,1,1>; #declare tex_cristal = texture { finish {ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment {color cor_cristal filter 1} } #declare tex_espelho = texture { pigment {rgb cor_espelho} finish {ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.2 roughness 0.05 } } #declare chao = plane { z,0 pigment { checker Green,Yellow } } #declare torre = union { cylinder { <0,0,0> <0,0,4> 0.25 texture { tex_cristal } interior { ior 1.5 } } cone { <0,0,4>, 0.25 <0,0,5>, 0 texture { tex_espelho } } } #declare parede_frontal = difference { box { <0,0,0> <5.5,0.1,2> } box { <2,0,0> <3.5,0.1,1.2> } texture { tex_cristal } interior { ior 1.5 } } #declare parede_longitudinal = box { <0,0,0> <0.1,5,2> texture { tex_cristal } interior { ior 1.5 } } #declare parede_traseira = box { <0,0,0> <6,0.1,2> texture { tex_cristal } interior { ior 1.5 } } #declare ponte_elevadica = box { <0,0,0> <1.5,1.2,0.1> texture { tex_espelho } } #declare aposentos_reais = cylinder { <0,0,0> <0,0,3> 1.5 texture { tex_cristal } } #declare abobada = difference { sphere { <0,0,0> 2 } cylinder { <0,0,-1> <0,0,-3> 2 } texture { tex_espelho } } #declare frisado = torus { 1.7 0.2 rotate 90*x texture { tex_espelho } } #declare visitante = cylinder { <0,0,0> <0,0,1> 0.2 pigment {Blue} } // Aqui está a cena, finalmente: union{ object { chao } object { torre translate <3,0,0> } object { torre translate <-3,0,0> } object { parede_longitudinal translate <3,0.25,0> } object { parede_longitudinal translate <-3,0.25,0> } object { parede_frontal translate <-2.75,0,0> } object { parede_traseira translate <-3,5.25,0> } object { visitante translate <1.5,1,0> } object { visitante translate <-1.5,-1,0> } object { visitante translate <0,-1.3,0> } object { ponte_elevadica translate <-0.75,-1.3,0> } object { aposentos_reais translate <0,3,0> } object { abobada translate <0,3,4> } object { frisado translate <0,3,3> } }