#include "colors.inc" #include "shapes.inc" #include "woods.inc" // background{ color rgb <0,0.2,0.8> } global_settings { ambient_light rgb 1 max_trace_level 20 radiosity { pretrace_start 0.08 pretrace_end 0.01 count 400 error_bound 0.03 recursion_limit 3 brightness 8 } } camera { perspective location <-130,-200,120> // original location for p.b.i up z right -x*4/3 angle 20 //20 sky <0,0,1> look_at <0,0,10> } #declare T2= texture{ T_Wood7 scale 10 rotate y*91 translate z*-20 rotate z*22 finish { diffuse 0.5 ambient 0.0 specular 0.0 roughness 0.0 reflection 0.02 } } plane{ z,0 texture{T2} } /* light_source { <-100,0,400> color 1.0 spotlight radius 2 falloff 10 tightness 10 point_at <0, 0, 0> area_light <200,0,0> <0,200,0> 8,8 adaptive 2 jitter } light_source{ <-300,-300,100> color 0.1 } */ #macro RoundTorus(major,minor,round) merge{ difference { torus{ major , minor } plane{z , 0 } plane{x , 0 } } #if(round>0) torus{ minor-round round rotate x*90 translate } cylinder{ minor-round } torus{ minor-round round rotate z*90 translate <0,0,major> } cylinder{ <0,0,major> <-round,0,major> minor-round } #end rotate x*90 } #end #macro TTorus(major,minor,round,th) difference{ RoundTorus(major,minor,round) RoundTorus(major,minor-th,0) } #end #declare Msolid = material{ texture{ pigment{ color rgb <1,1,1,0> } finish{ diffuse 0.8 specular 0.3 roughness 0.05 ambient 0 reflection 0.0 } } texture{ pigment{ bumps color_map { [0.0 color rgbt <0,0,0,1>] [0.6 color rgbt <0,0,0,1>] [0.7 color rgbt <1,0,0,0.5>] [0.8 color rgbt <1,1,0,0>] [1.0 color rgbt <1,1,0,0>] } } finish{ diffuse 0.7 specular 0.2 roughness 0.1 ambient 0 reflection 0.0 } normal{ bumps 0.2 scale 0.5 } } } #declare Mglass = material{ texture{ pigment{ color rgbt <0,0,0,0.9> } finish{ diffuse 0.0 specular 0.5 roughness 0.01 ambient 0 reflection 0.1 } } texture{ pigment{ crackle color_map { [0.0 color rgbt <1,1,1,1.0>] [0.4 color rgbt <1,1,1,1.0>] [0.4 color rgbt <1,1,1,1.0>] [0.6 color rgbt <0,0.75,1,0.5>] [0.8 color rgbt <0.7,0.7,1,0>] } scale 2 } finish{ diffuse 1.0 ambient 5.0 specular 0.0 roughness 0.01 reflection 0 } } interior{ ior 1.5 } } union{ object{ RoundTorus(20,3,0.5) translate z*3 material{ Msolid } } object{ TTorus(20,3,0.5,0.5) translate -20*x rotate y*90 rotate -z*90 translate <-1,-20,3> material{ Mglass } } object{ RoundTorus(20,3,0.5) rotate -y*90 translate <-21,0,3+20+1> material{ Msolid } } object{ TTorus(20,3,0.5,0.5) rotate 180*z translate <-1,1,3+40+1> material{ Mglass } } object{ RoundTorus(20,3,0.5) rotate -x*90 translate <0,21,3+20+1> material{ Msolid } } object{ TTorus(20,3,0.5,0.5) translate x*-20 rotate x*90 rotate z*90 translate <20,21,3+20> material{ Mglass } } rotate z*45 rotate y*-56 translate x*20 translate z*-4 }