#include "colors.inc" #include "glass.inc" #include "stars.inc" #include "shapes.inc" #include "stones.inc" #include "metals.inc" #declare simpleLights = false; #declare rStream = seed(6); camera { location <4,7,-35> rotate z*5 look_at <0, 15, 180> } light_source { <0, 10, 0> color Yellow *0.3 #if(simpleLights = false) area_light <1.5,0,0>,<0,0,1.5>,3,3 jitter adaptive 1 #end //shadowless fade_distance 30 fade_power 1.2 media_interaction off } background { color Black } difference { sphere { <0,0,0>, 1 } box { <4,0,4>, <-4,-4,-4> } hollow scale <2,20,2> interior { media { intervals 5 //5 higher slows it up and gives smoother images samples 5 //5 lower = more blocky emission .6 //1 brightness of glowing media density { spherical scale <3,20,3> warp { turbulence <.8,.07,.05> } density_map { [0 rgb 0] [.5 rgb 0] [.6 rgb Orange] [.7 color Yellow] [.8 color Yellow] [.9 color White] [1 color White] } } } } texture { pigment { Clear } } translate <0,5,0> } //dish difference { sphere { <0,5,0>, 2 scale <1,.3,1> } sphere { <0,5,0>, 2 scale <1,.3,1> translate <0,.05,0> } box { <-3,5.3,-3>, <3,10,3> } translate <0,4,0> texture { pigment { Red } finish { reflection { 0.2,0.6 } specular 0.2 metallic } } } //pedastall union { cone { <0,3,0>,2.5, <0,5,0>,1 } cylinder { <0,3,0>, <0,-10,0>, 3 } texture { pigment { White } normal { agate scale .7 bump_size .1 } finish { ambient 0 } } } // floor cylinder { <0,-2,0>, <0,-3,0>, 100 texture { pigment { agate scale 2 warp { turbulence <2,1,1> } pigment_map { [0 White*1.3] [.9 White*1.1] [1 Gray95] } } finish { ambient 0 specular .5 } normal { agate scale 2 warp { turbulence <2,1,1> } bump_size .2 } } } #declare col = union { difference { cylinder { <0,0,0>, <0,20,0>, 3 } #declare r = 0; #while(r <= 360) cylinder { <0,-1,0>, <0,21,0>, .4 scale <1,1,.5> translate <0,0,-3> rotate <0,r,0> } #declare r = r + 15; #end } difference { cylinder { <0,0,0>, <0,-5,0>, 4 } torus { 4,1 translate <0,0,0> } } box { <-4,-1,-4>, <4,-5,4> } union { difference { cylinder { <0,0,0>, <0,-1,0>, 4 } torus { 4,1 translate <0,0,0> } } box { <-4,-1,-4>, <4,-2,4> } rotate <0,0,180> translate <0,20,0> } texture{ pigment { agate scale 2 warp { turbulence <2,1,1> } pigment_map { [0 White*1.3] [1 White*1.1] } } finish { ambient 0 specular .7 } } }; #macro smallFlame() union { light_source { <0,1,0> color Orange *.5 #if(simpleLights = false) area_light <.5,0,0>,<0,0,.5>,3,3 jitter adaptive 1 #end fade_distance 2 fade_power 1.2 media_interaction off } difference { sphere { <0,0,0>, 1 scale <1,3,1> hollow interior { media { intervals 5 //5 higher slows it up and gives smoother images samples 5 //5 lower = more blocky emission 1 //1 brightness of glowing media density { spherical scale <1,7,1> warp { turbulence <(rand(rStream)*.5)+.2 ,(rand(rStream)*.3)+.2,(rand(rStream)*.3)+.2> } density_map { [0 rgb 0] [.6 rgb 0] [.7 color Orange] [.8 color Orange] [.9 color Red] [1 color Yellow] } } } } } box { <-5,0,-5>, <5,-10,5> } texture { pigment { Clear } } } rotate <0,rand(rStream)*360,0> } #end #macro smallDish() union { difference { sphere { <0,0,0>,1 } sphere { <0,.1,0>,1 } box { <2,-.1,2>,<-2,2,-2> } texture { pigment { Red } finish { reflection { 0.2,0.6 } specular 0.2 metallic } } scale 1 } cylinder { <0,0,5>, <0,0,0>, .2 scale <2,.1,1> translate <0,-1,0> texture { T_Chrome_2A normal { agate scale .2 }} } } #end #declare r2 = -70; #while (r2 <= 70) union { object { col } object { smallFlame() translate <0,15,-5>} object { smallDish() translate <0,15,-5>} translate <0,0,80> rotate <0,r2,0> } #declare r2 = r2 + 10; #end