// Vitor Sexto Bernardes - RA 010063 // Last edited on 2003-10-21 23:49:05 by stolfi // ====================================================================== // CÂMERA global_settings { max_trace_level 10 } #declare ctr = < 0.00, 0.00, 5.00 >; #declare camdir = < -18, 30, 6 >; camera { location ctr + 1.00*camdir // Posição do observador. right -1.0*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. 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 { 100 * < -50.0, -30.0, +50.0 > // Posição da lâmpada. color rgb 1.0 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100 * < -50.0, +10.0, +20.0 > // Posição da lâmpada. color rgb 0.4 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100 * < -20.0, +40.0, +50.0 > // Posição da lâmpada. color rgb 0.3 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.90, 0.95, 1.00 > } #declare cor_cristal = < 0.9, 0.9, 0.9 >; #declare tx_cristal = texture { finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1.0 roughness 0.001 } pigment { color cor_cristal filter 1.0 } } #declare cor_espelho = < 0.7, 0.7, 0.8 >; #declare tx_espelho = texture { pigment { rgb cor_espelho } finish { ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.2 roughness 0.05 } } #declare tx_pilastra = texture { pigment { color rgb < 0.89, 0.90, 0.97 > } finish { diffuse 0.9 specular 0.6 roughness 0.005 ambient 0.1 } } #declare chao = plane { <0, 0, 1>, 0 pigment { checker <0.75,0.75,0.75>, <1.00,1.00,1.00> scale 5 } normal { granite 0.2 scale 3 } } #declare pilastra = cylinder { <0, 0, 0>, <0, 0, 10>, 0.3 texture { tx_pilastra } } #declare corpo_palacio = prism { linear_sweep linear_spline 0, 10, 6, <14, 0>, <3, 10>, <-10, 9>, <-10, -9>, <3, -10>, <14, 0> rotate <90, 0, 0> texture { tx_cristal } interior { ior 1.05 } } #declare teto_palacio = prism { conic_sweep linear_spline 10, 15, 6, <14, 0>, <3, 10>, <-10, 9>, <-10, -9>, <3, -10>, <14, 0> rotate <90, 180, 180> scale <0.068, 0.068, 0.45> translate <0,0,16.5> texture { tx_cristal } interior { ior 1.05 } } #declare chao_palacio = intersection { cylinder { <0,0,-0.01>, <0,0,0.01>, 20 } object { corpo_palacio translate <0, 0, -1> } texture { tx_espelho } } #declare toroide = torus { 2, 0.2 texture { tx_cristal } interior { ior 1.3 } rotate <0, 0, 90> translate <0, 0, 14.2> } #declare espelho_toroide = cylinder { <0,0,-0.01>, <0,0,0.01>, 2 rotate <0, 90, 0> translate <0, 0, 14.2> texture { tx_espelho } } //CENA FINAL: union { object { chao } object { chao_palacio } object { pilastra translate <14, 0, 0> } object { pilastra translate <3, 10, 0> } object { pilastra translate <3, -10, 0> } object { pilastra translate <-10, 9, 0> } object { pilastra translate <-10, -9, 0> } object { corpo_palacio } object { teto_palacio } object { toroide } object { espelho_toroide } }