#include "colors.inc" #include "stones.inc" #include "textures.inc" camera { location <0 , .1, -25> look_at 0 angle 100 } background { color Gray } light_source { <10, 0, 0> White } light_source { <-20, 0, 0> White} plane { y, -100 texture { T_Stone15 } } #declare tx_espelho = texture{ pigment { Green } finish{ ambient 0.05 diffuse 0.05 reflection Green specular 0.20 roughness 0.05 } } #declare cor_cristal2 = Red #declare tx_cristal2 = texture{ finish{ ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal2 filter 1 } } #declare cor_cristal1 = Yellow #declare tx_cristal1 = texture{ finish{ ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal1 filter 1 } } #declare cor_cristal3 = Blue #declare tx_cristal3 = texture{ finish{ ambient 0.1 diffuse 0.1 reflection 0.25 specular 1 roughness 0.001 } pigment { color cor_cristal3 filter 1 } } #declare Half_Torus = difference { torus { 4, 1 rotate -90*x } box { <-5, -5, -1>, <5, 0, 1> } texture { tx_cristal2 } interior {ior 2.0} translate 10*x } #declare Flip_It_Over = 180*x; #declare rosquinha = torus { 4, 1 rotate -90*x translate <22, 4, 0> texture {tx_cristal3} interior {ior 2.0} } #declare bolaestranha = sphere { <2, -5, 0>, 5 scale < 2, 0, 0 > translate <0, 0.2, 0> texture {tx_espelho} interior {ior 2.0} } #declare pedacinhos = cylinder { <0, 2, 0>, <0, -2, 0>, 1 texture{tx_cristal3} interior {ior 2.0} } #declare portacopos = cylinder { <0, 10, 0>, <0,-10,0>, 5 open translate <-15, -5, 0> texture {tx_cristal1} interior {ior 2.0} } #declare ligacao = cylinder{ < -10, 0, 0>, < -5,0, 0> 1 translate -5*y texture{tx_cristal3} interior {ior 2.0} } union { object {rosquinha} object {bolaestranha} object {portacopos} object {pedacinhos translate < 4, -11, 0>} object {pedacinhos translate < 7, -9, 2> rotate 50*x } object {pedacinhos translate <4, -10, 0> rotate -30*z } object {ligacao} object { Half_Torus } object { Half_Torus rotate Flip_It_Over translate 8*x } }