//Last edited on 2003-10-16 20:03:49 by stolfi #include "colors.inc" #include "woods.inc" // T_Wood1 - T_Wood35 #include "metals.inc" global_settings { assumed_gamma 1.0 max_trace_level 5 } // ---------------------------------------- #declare ctr = <0,9,0>; #declare camdir = < -30,30,-45>; camera { location ctr + 0.65*camdir //mais perto right -1.0*x // Largura RELATIVA da imagem. up 0.75*y // Altura RELATIVA da imagem. sky y look_at ctr } background { color rgb < 0.6,0.8,1.0 > } // sky_sphere { // pigment { // gradient y // color_map { // [0.0 rgb <0.6,0.7,1.0>] // [0.7 rgb <0.0,0.1,0.8>] // } // } // } light_source { 0 color rgb <1,1,1> area_light <4, 0, 0> <0, 0, 4> 4, 4 adaptive 0 jitter scale 30 translate ctr + 10*(vrotate(camdir,-50*y) + 50*y) } #declare prata = material { texture { pigment { Silver } finish { ambient 0.05 diffuse 0.05 reflection Silver metallic specular 0.5 roughness 0.001 } } } #declare prata_escura = material { texture { pigment { rgb 0.1 } finish { ambient 0.05 diffuse 0.05 reflection rgb 0.1 metallic specular 0.5 roughness 0.001 } } } #declare ouro = material { texture { pigment { BrightGold } finish { ambient 0.05 diffuse 0.05 reflection BrightGold metallic specular 0.5 roughness 0.001 } } } #declare cristal_azul_luz = material { texture { pigment { rgbf <0.1, 0.1, 0.9, 1> } finish { ambient 4.8 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } } interior { ior 1.1 } } #declare cristal_azul = material { texture { pigment { rgbf <0.1, 0.1, 0.9, 1> } finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } } interior { ior 1.1 } } #declare cristal_amarelo = material { texture { pigment { rgbf <0.9, 0.9, 0.1, 1> } finish { ambient 0.1 diffuse 0.1 reflection rgbf <0.9, 0.9, 0.1, 1> specular 1 roughness 0.001 } } interior { ior 1.1 } } #declare cristal = material { texture { pigment { rgbf 1 } finish { ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } } interior { ior 1.1 } } #declare PiramideBase = intersection { plane { < 1, 0, 0>, 1 rotate < 0, 0, 40>} plane { <-1, 0, 0>, 1 rotate < 0, 0, -40>} plane { < 0, 0, 1>, 1 rotate <-40, 0, 0>} plane { < 0, 0, -1>, 1 rotate < 40, 0, 0>} plane { <0, -1, 0>, 0 } translate <0 ,-1, 0> bounded_by {box {<-1,0,-1>, <1,1,1>}} } #declare PiramideCentral = union { object { PiramideBase material { cristal } } object { PiramideBase scale 0.5 material { prata } } } #declare Pylon = union { union { object { PiramideBase translate <0, 0.1, 0> } object { PiramideBase rotate <180, 0, 0> } material { cristal_azul_luz } scale <3, 10, 3> translate <0, 2, 0> } torus { 3, 0.8 translate <0, 2.7, 0> material { ouro } } } #declare anel = torus { 5, 1.4 material { prata } } #declare PiramideAdjacente = object { PiramideBase material { cristal_amarelo } } #declare Pilastras = union { difference { box { <-6, -0.1, -6>, <6, 12, 6> } box { <-12.1, -0.2, -12.1>, <12.1, 12.1, 12.1> rotate <0, 0, 45> translate <0, 6, 0> } box { <-6, -0.2, -6>, <6, 12.1, 6> rotate <0, 45, 0> } } material { cristal_azul } } object { Pilastras scale <1, 1.5, 1> } object { PiramideCentral rotate <0, 45, 0> scale <10, 40, 10> } object { anel translate <0, 19, 0> } object { Pylon scale 0.55 translate <-11.2, 5, 0> } object { Pylon scale 0.55 translate <11.2, 5, 0> } object { Pylon scale 0.55 translate <0, 5, -11.2> } object { Pylon scale 0.55 translate <0, 5, 11.2> } plane { y, 0 // material { prata_escura } pigment { checker color rgb <1.0,0.9,0.7>, color rgb <0.8,0.7,0.5> scale 2 } }