// Last edited on 2003-10-22 04:18:08 by stolfi global_settings { max_trace_level 10 } #declare ctr = < -6,6,-2 >; #declare camdir = < 5,10, 30 >; camera { location ctr + 0.80*camdir // Posição do observador. right -1.0*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. 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. #include "textures.inc" #include "colors.inc" // The include files contain #include "stones.inc" // pre-defined scene elements #include "metals.inc" #include "woods.inc" #include "finish.inc" #include "shapes.inc" #include "skies.inc" #include "chars.inc" #include "stars.inc" //#include "D:\UNICAMP\2s2003\mc930\exercicios\myinc\robot666_v20.inc" // ====================================================================== // FONTES DE LUZ light_source { 100 * < -50.0, +80.0, +50.0 > // Posição da lâmpada. color rgb 1.2 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } light_source { 100 * < -50.0, +50.0, -50.0 > // Posição da lâmpada. color rgb 0.6 * < 1.00, 1.00, 1.00 > // Intensidade e corda luz. } // ====================================================================== // DESCRIÇÃO DA CENA sky_sphere { pigment {color rgb < 0.75, 0.80, 0.85 >} } //sky_sphere { pigment {checker color rgb < 0.3, 0.3, 0.3 > color rgb <0.7,0.7,0.7>} } background{ color rgb < 0.75, 0.80, 0.85 > } #declare sup_transp= texture{ finish { ambient 0.1 diffuse 0.1 roughness 0.001 reflection 0.25 specular 1 } pigment {color rgb <0.9,0.9,0.9> filter 1 } } //interior {ior 1.5} #declare sup_metalica = texture { finish{ ambient 0.05 diffuse 0.05 reflection color rgb <0.8,0.4,0.5> specular 0.20 roughness 0.05 } } #declare sup_metalica2 = texture { finish{ ambient 0.05 diffuse 0.05 reflection color rgb <0.8,0.8,0.7> specular 0.20 roughness 0.05 } } #declare chao= plane { <0,1,0>, 0 pigment {checker color rgb < 1.0, 1.0, 1.0 > color rgb <0.7,0.7,0.7> scale 2} rotate y*30 //pigment {color <0.8,0.8,0.8>} } #declare principalbase = box{ <0,0,0> <-12,6,-4> texture {sup_metalica} } #declare arco = union{ box { <0,0,2> <3,3,-5> } cylinder { <0,0,2> <0,0,-5> 1.5 translate <1.5,3,0> } texture {sup_metalica} } #declare principal = difference { object {principalbase} object {arco translate <-9,0,0>} } #declare torre1base = cylinder { <0,0,0> <0,8,0> 1 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_transp} interior {ior 1.5} } #declare torre2base = cylinder { <0,0,0> <0,10,0> 1 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_metalica2} } #declare torre3base = cylinder { <0,0,0> <0,5,0> 0.5 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_metalica2} } #declare torre2topo = cone { <0,0,0> 1 <0,3,0> 0 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_transp} interior {ior 1.5} } #declare torre3topo= cone { <0,0,0> 0.5 <0,3,0> 0 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_transp} interior {ior 1.5} } #declare torre1topo = torus{ 1,0.1 //pigment {color rgb <0.9,0.2,0.3>} texture {sup_metalica} } #declare torre1 = union { object {torre1base} object {torre1topo rotate x*-90 translate <0,9,0>} } #declare torre2 = union { object {torre2base} object {torre2topo translate <0,10,0>} } #declare torre3 = union { object {torre3base} object {torre3topo translate <0,5,0>} } #declare castelo = union { object {principal} object {torre1 translate <0.5,0,0.5>} object {torre2 translate <-4,0,0.5>} object {torre3 translate <-8,6,-2>} } object {chao} object {castelo}