// ====================================================================== // CÂMERA camera { location < 40.00, 0.00, 5.00 > // 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 < 0.00, 0.00, 5.00 > // 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 { < 0.0, 0.0, 1.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0.0, 0.0, 12.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { < 0.0, 0.0,25.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < 30.0, 0.0, 30.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 10 * < 0.0, 30.0, 30.0 > // Posição da lâmpada. color rgb 2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA background{ color rgb < 0.3, 0.7, 0.7 > } //#declare raio = 2.000; #declare vidro = texture { pigment { color rgb < 0.70, 0.70, 1.0 > filter 1} finish { diffuse 0.1 specular 1 reflection 0.25 roughness 0.001 ambient 0.1 } } #declare cor_espelho = < 0.90, 0.80, 1.0 > #declare espelho = texture { pigment { color rgb cor_espelho} finish { diffuse 0.5 specular 0.20 roughness 0.05 ambient 0.05 reflection cor_espelho} } #declare grama=texture{ pigment { color rgb <0.1,0.6,0.0>} finish { diffuse 0.5 specular 0.20 roughness 0.05 ambient 0.05} } #declare toroide_vidro = torus {10 4 texture{vidro} interior {ior 1.5}} #declare toroide_espelho = torus {10 0.1 texture{espelho}} #declare chao = plane {<0,0,1> 0 texture{grama}} #declare aro = union{ object { toroide_vidro} object { toroide_espelho} rotate <90,0,0> } #declare portal = torus {5,1 texture {espelho}} #declare torre = union { difference { union{ #declare Count=0; #while (Count <6) object {aro translate<0,0,6*Count> scale <1/(Count/2+1),1/(Count/2+1),1/(Count/4+1)>} #declare Count = Count+1 #end } object {cylinder {<20,0,0> <-20,0,0> 5}} } object {portal rotate<0,0,90> translate <10,0,0>} object {portal rotate<0,0,90> translate <-10,0,0>} } union{ object {chao} object {torre} }