global_settings{assumed_gamma 2.2 max_trace_level 50} camera{location <12,14,-18> look_at <0,-1,0>} #declare Num=8; #declare Dist=20; light_source{ rgb .18+z*.05 area_light <0,0,-Dist><0,2*Dist,Dist>,Num,Num} light_source{<-Dist,50,0> rgb .18+z*.05 area_light <0,0,-Dist><0,2*Dist,Dist>,Num,Num} light_source{<0,50,Dist> rgb .18+z*.05 area_light <-Dist,2*Dist,0>,Num,Num} light_source{<0,50,-Dist> rgb .18+z*.05 area_light <-Dist,2*Dist,0>,Num,Num} light_source{<0,50+Dist,0> rgb .18+z*.05 area_light <-Dist,0,-Dist>,Num,Num} light_source{<50,100,100> rgb .87 spotlight point_at <0,5,0> radius 2 falloff 4 area_light -20,20,Num*2,Num*2 media_interaction on} plane{<0,1,0>,0 pigment{rgb 1}} sky_sphere{pigment{gradient y color_map{[0 rgb 1][1 rgb <.7,.7,1>]}scale 2 translate -1}} difference{ sphere{y*5,5} cylinder{<6,5,0><-6,5,0>,3 } cylinder{<0,5,6><0,5,-6>,3 } cylinder{<0,11,0><0,-1,0>,3 } box{<-3.5,1.5,-3.5><3.5,8.5,3.5> inverse} pigment{rgb 1} finish{brilliance 1.5} translate y*-1.5 } difference{ sphere{y*5,5} cylinder{<6,5,0><-6,5,0>,3 } cylinder{<0,5,6><0,5,-6>,3 } cylinder{<0,11,0><0,-1,0>,3 } box{<-3.5,1.5,-3.5><3.5,8.5,3.5> inverse} pigment{rgb 1} finish{brilliance 1.5} translate y*-1.5 scale 2/5 rotate y*45 } union{ #declare Count=16; #declare C=0; #while (C<1,2,1> rotate y*90*rand(Seed) translate x*9 rotate y*360/Count*C} #declare C=C+1; #end pigment{rgb 1} finish{brilliance 3.5 specular .2 roughness .1} } //Large, surrounding glass-balls union{ #declare Count=21; #declare C=0; #while (C); #declare Pos = vrotate(<12,1,0>,y*360/Count*C); sphere{0,1 translate Pos pigment{rgb Color transmit .6 filter .2} interior{ior 1.45 caustics .8} finish{brilliance 1.5 specular .1 roughness .4 reflection .2} } //For Radiosity-like appearance of the glass-balls light_source{Pos rgb Color*.2 area_light .4,-.4,Num/3,Num/3 fade_power 3 fade_distance 1.25} #declare C=C+1; #end pigment{rgb 1} interior{ior 1.45 caustics .8} finish{brilliance 1.5 specular .5 roughness .4} } //Small ones on top union{ #declare Count=21; #declare C=0; #while (C); #declare Pos = vrotate(<3.3,8.45,0>,y*360/Count*C); sphere{0,.25 translate Pos pigment{rgb Color transmit .6 filter .2} interior{ior 1.45 caustics .8} finish{brilliance 1.5 specular .1 roughness .4 reflection .2} } //For Radiosity-like appearance of the glass-balls light_source{Pos rgb Color*.2 area_light .4,-.4,Num/3,Num/3 fade_power 3 fade_distance .5} #declare C=C+1; #end pigment{rgb 1} interior{ior 1.45 caustics .8} finish{brilliance 1.5 specular .5 roughness .4} }