// Last edited on 2003-10-22 04:15:24 by stolfi global_settings { max_trace_level 10 } // ====================================================================== // CÂMERA #declare ctr = < 0.0, 4.0, 20.0 >; #declare camdir = < -20, 25, -50 >; camera { location ctr + 1.00*camdir // Posição do observador. right -1.00*x up 0.75*y sky y // 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. //=========================================== // Texturas #declare cor_cristal = <0.9,0.9,1>; #declare tx_cristal = texture{ finish{ ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment{ color cor_cristal filter 1} }; #declare cor_espelho = <0,1,0>; #declare tx_espelho = texture{ pigment {rgb cor_espelho} finish{ ambient 0.05 diffuse 0.05 reflection cor_espelho specular 0.2 roughness 0.05 } pigment{ color cor_cristal filter 1} } // ====================================================================== // FONTES DE LUZ light_source { 100 * < 30, 40, 30.0 > // Posição da lâmpada. color rgb 1.0 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100 * < +30.0, 40.0, -30.0 > // Posição da lâmpada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100* < -10, 30, -50 > // Posição da lâmpada. color rgb 0.5 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.75, 0.80, 0.85 > } #declare raio = 2.000; #declare tinta_A = texture { pigment { color rgb < 0.10, 0.80, 1.00 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare tinta_B = texture { pigment { color rgb < 1.00, 0.80, 0.10 > } finish { diffuse 0.5 specular 0.5 roughness 0.005 ambient 0.1 } } #declare piso = plane {<0,1,0>,0 texture {tx_espelho} } #declare arcada = torus { 4,1 rotate -90*x translate <0,0,0> texture{tinta_A} interior {ior 1.5} } #declare corredor_entrada = difference{ cylinder{ <0,0,0> , <0,0,8> , 4 texture {tx_cristal} interior {ior 1.5} } cylinder{ <0,0,-1> , <0,0,9> , 3.5 texture {tx_cristal} interior {ior 1.5} } } #declare telhado = difference{ cylinder{ <0,6,8> , <0,6,58> , 10 texture {tx_cristal} interior {ior 1.5} } cylinder{ <0,6,8.5> , <0,6,57.5> , 9.5 texture {tx_cristal} interior {ior 1.5} } } #declare telhado_2 = object{ telhado translate <0,-6,0> scale <1,0.5,1> translate <0,6,0> } #declare coluna_2 = union{ cylinder{ <-12,0,7>, <-12,10,7>,2 texture{tinta_B} } cylinder{ <-12,10,7>, <-12,11,7>,2.5 texture{tinta_B} } cylinder{ <-12,11,7>, <-12,12,7>,3 texture{tinta_B} } } #declare coluna_1 = object{ coluna_2 scale<-1,1,1>} #declare coluna_3 = object{ coluna_1 translate<0,0,50>} #declare coluna_4 = object{ coluna_3 scale<-1,1,1>} #declare principal = difference{ box { <-10, 0, 8>, // Near lower left corner < 10, 6, 58> // Far upper right corner texture {tinta_B} } box { <-9.5, 0, 8.5>, // Near lower left corner < 9.5, 7, 57.5> // Far upper right corner texture {tinta_B} } } // Aqui está a cena, finalmente: object {piso} object {arcada} object {corredor_entrada} object {principal} object {telhado_2} object {coluna_2} object {coluna_1} object {coluna_3} object {coluna_4}