// perspective (default) camera #declare IOR = 1.05; #declare Distance = 20; camera { location <3, 2.0, -5.0> look_at <3, 0.0, 0.0> right x*image_width/image_height } // create a regular point light source light_source { 0*x // light's position (translated below) color rgb <1,1,1> // light's color translate <-20, 40, -20> } #declare Density1= density { spherical ramp_wave color_map { [0.0 color rgb <0.0, 0.0, 0.0>] [0.2 color rgb <1.0, 0.3, 0.1>] [1.0 color rgb <1.0, 1.0, 0.1>] } } #declare Density2= density { spherical ramp_wave color_map { [0.0 color rgb <0.0, 0.0, 0.0>] [0.2 color rgb <0.1, 1.0, 0.3>] [1.0 color rgb <0.1, 1.0, 1.0>] } } #declare Media = media { emission 0.5 intervals 1 samples 5 method 3 density { onion turbulence 0.1 color_map { [0.0 color rgb <0, 0, 1>] [0.1 color rgb <1, 0, 0>] [1.0 color rgb <1, 1, 0>] } } } #declare Media2 = media { emission <0.1,0.2,0> intervals 1 samples 5 method 3 } #declare Media3 = media { emission <0.3,0.6,0> intervals 1 samples 5 method 3 } #macro texturemed() pigment{rgbt 1 } hollow interior{media {Media2 // scattering {1, 0.5} //density { } } } finish { ambient 0 diffuse 0 } /* interior { ior IOR fade_distance 20.5 fade_power 2 }*/ #end #macro texturemed2() pigment{rgbt 1 } hollow interior{media {Media3 // scattering {1, 0.5} //density { } } } finish { ambient 1 diffuse 1 } interior { ior IOR fade_distance 20.5 fade_power 2 } #end merge{ cylinder { 1*x, 4*x, 1 } sphere { <4,0, 0> // center of sphere 1 } sphere { <1, 0, 0> // center of sphere 1 } texturemed() } merge{ cylinder { 1*x, 4*x, 0.5 } sphere { <4,0, 0> // center of sphere 0.5 } sphere { <1, 0, 0> // center of sphere 0.5 } texturemed2() // translate <0,0.5,0> finish{ reflection.1} } plane { y, -1.0 hollow on texture{ tiles { texture { pigment { agate scale 0.7 } finish { ambient 0.2 } } tile2 texture { pigment { granite } finish { specular 0.3 reflection 0.2 } } } } }