#include "woods.inc" #include "macros/roundbox.inc" #ifndef (Lit) #declare Lit = 1; #end #declare Candle1_f= merge{ difference{ cylinder{ <0,1.3,0> <0,-11,0> 3 } cylinder{ <0,5,0> <0,.5,0> 2} sphere{<0,0,0> 2 scale <1,.7,1> translate y*.5} } torus{2.5,.5 scale <1,.5,1> translate y*1.3} } #declare Candle1 = union{ object{ Candle1_f scale .99 no_shadow double_illuminate texture{ pigment{color rgb<1,.8,.6>} finish{ambient .0 diffuse .7 brilliance 0.1} } } object{ Candle1_f scale 1 hollow texture{ pigment{ color rgbf<1,1,1,1> } } interior{ ior 1.4 media{ absorption <.6,.7,.8>*.5 scattering{1 rgb <.8,.9,1>*.6} } } } //wick cylinder{ <0,-.9,0> <0,.4,0> .08 no_shadow } //#if(Lit) /*light group*/ //FixMe #local n = .14; #local fd = 50; light_source{ <0,0.1,0> rgb <1,1,1>*.6*n fade_distance fd fade_power 2} light_source{ <0,0.4,0> rgb <1,1,1>*1.6*n fade_distance fd fade_power 2} light_source{ <0,0-.2,0> rgb <1,1,1>*2.8*n fade_distance fd fade_power 2} light_source{ <0,0.-.5,0> rgb <1,1,1>*1.6*n fade_distance fd fade_power 2} light_source{ <0,0.-.8,0> rgb <1,1,1>*.6*n fade_distance fd fade_power 2} cylinder { <0,-1,0> <0,1,0> .3 no_shadow hollow texture{pigment{color <1,1,1> transmit 1}} interior{ media{ absorption <.1,.2,.2>*20 emission rgb<.945,.613,.293>*15 density {spherical} scale <.3,1..3>*1 } } scale <1,3,1> translate y*0.1 } //#end } // object Candle1 /**********************************************************************************/ #declare Candle2 = union{ #local C2f= difference{ cylinder{<0,-30,0> <0,0,0> 1.5} cylinder{ <0,1,0> <0,-.8,0> 1.2 } sphere{<0,.5,0> 1.2 translate y*-.8} } object{ C2f scale .99 no_shadow double_illuminate texture{ pigment{color rgb<1,.95,.9>} finish{ambient .0 diffuse .8 brilliance 0.1} } } object{ C2f scale 1 hollow texture{ pigment{ color rgbf<1,1,1,1> } } interior{ ior 1.4 media{ absorption <.6,.7,.8>*.6 scattering{1 rgb <.8,.9,1>*.43} } } } difference{ union{ cone{<0,-3.4,0> 2.0 <0,-.5,0> 1.8} cone{<0,-.5,0>1.8 <0,.2,0> 1.4 } } cylinder{<0,-4,0> <0,0,0> 1.5} cylinder{<0,-.1,0> <0,1,0> 1.2 texture{ pigment{color rgb <.3,.3,.01>*.2} finish{ambient 0 diffuse .2 specular .3 roughness 0.5 metallic brilliance 4 reflection{.6 metallic} } } } texture{ pigment{color rgb <.3,.3,.01>*2.2} finish{ambient 0 diffuse .5 specular .3 roughness 0.05 metallic brilliance 8 reflection{.8 metallic} } } } #if (Lit) #local i = 0; #local n = 20 ; #while (i rgb <1,1,1>*20/n fade_distance .7 fade_power 1 } #local i = i + 1; #end cylinder { <0,-1,0> <0,1,0> .3 no_shadow hollow texture{pigment{color <1,1,1> transmit 1}} interior{ media{ absorption <.1,.2,.2>*20 emission rgb<.945,.613,.293>*15 density {spherical} scale <.3,1..3>*1 } } translate y*1.1 } #end } /**********************************************************************************/ #declare Stand2A = union{ union{ difference{ cylinder{<0,0,0> <0,3,0> 1.6} cylinder{<0,-0.5,0> <0,3.1,0> 1.5} } torus{1.55 .05 translate y*3} cylinder{<0,0,0> <0,-.7,0> 7} torus{7,.35*5 scale <1,1/5,1> translate y*-.35} cylinder{<0,-.69,0> <0,-5,0> 1.5} texture{ pigment{color rgb <.98,.98,1>*.3} finish{ambient 0 diffuse .5 specular .15 roughness 2} normal{granite .1 scale .05} } } cylinder{<0,-5,0> <0,-110,0> 1.52 texture{ pigment{color rgb<1,.8,.2>*.85} finish{ambient 0 diffuse .7 specular .29 roughness .5 } } interior{ior 1.3} } } #declare Ambo = union{ #local l=45; #local w=50; #local d=2; #local c=.8; #local dis=2.5; #local vect1 = <-w/2 , l/2+dis , l*sqrt(3)/2>; #local vect2 = < w/2 , l/2+dis , l*sqrt(3)/2> ; #local vect = (vect1+vect2)/2; #local WoodText = texture{T_Wood7 scale .41 } texture{ pigment{color rgbft<.6,.35,.2,1,.7>} finish{ambient 0 diffuse .8 specular .3 roughness.002 reflection{ .01,.2 } } normal{bumps .05 scale .005} } #local board = union{ box{<-w/2+c,0,0> }// tall and thick box{<-w/2,0,0> }// short and skiny cylinder{<-w/2+c,d-c,0> <-w/2+c,d-c,1> c} cylinder{ c} } /***/ union{ object{RoundBox(<-w/2-c,-.5,-d> ,c) texture{WoodText scale <1.2,1,1>*3} } //lower stop intersection{ //table top object{ board scale x+y+z*l texture{WoodText scale <1.2,1,1>*3 rotate x*-90 translate x*0+z*-120} rotate x*-30 } plane{-z,0} plane{y,l/2} translate y*dis } union{ //Board 2 intersection{ object{board scale x+y+z*l rotate x*-30 } plane{-y,-l/2} translate y*dis } intersection{ union{ cylinder{vect1+(x*c) , vect2-(x*c), d} cylinder{vect1,vect2, d-c} torus{d-c, c rotate z*90 translate vect1+(x*c)} torus{d-c, c rotate z*90 translate vect2-(x*c)} } plane{z,vect1.z} plane{-z,0 rotate x*-30 translate vect1} } object{board scale x+y+z*(15+d-c) translate vect} box{<-w/2+c,0,15+d-c> translate vect} cylinder{<-w/2+c,d-c,15+d-c> c translate vect} cylinder{ c translate vect} cylinder{<-w/2+c,d-c,15+d-c> <-w/2+c,0,15+d-c> c translate vect} sphere{ <-w/2+c,d-c,15+d-c> c translate vect} sphere{ c translate vect} texture{WoodText scale <1.2,1,1>*3 rotate y*90+z*5} } union{ //Board Front object{board scale x+y+z*(vect.y-c) rotate x*90 translate vect+(z*15) } box{ <-w/2+c,c,d-c> translate z*(vect.z+15)} cylinder{ <-w/2+c,c,d-c> c translate z*(vect.z+15)} cylinder{ c translate z*(vect.z+15)} cylinder{<-w/2+c,c,d-c> <-w/2+c,c,0> c translate z*(vect.z+15)} sphere{<-w/2+c,c,d-c> c translate z*(vect.z+15)} sphere{ c translate z*(vect.z+15)} texture{WoodText scale <1.2,1,1>*3 rotate y*90+z*5 translate vect+(z*15)} } //Board bottom object{board scale x+y+z*(vect.z+15) rotate x*180 translate z*(vect.z+15)+y*d texture{WoodText scale <1.2,1,1>*3 rotate x*5 translate z*-120} } //sides #local Sides = prism{ linear_spline 0,d, 6, ,,,,<0,vect.z+15>, rotate z*90 texture{WoodText scale <1.2,1,1>*3 rotate z*90 rotate x*5 translate z*-120} } object{Sides translate x*w/2} object{Sides translate x*(-w/2+d)} translate y*(120-(vect.y+d)) } #local vect = vect+(z*20); union{ box{<-w/2,0,0> } box{<-w/2+2*c,0,2*c> } cylinder{<-w/2+2*c,(d-c)*2,2*c><-w/2+2*c,(d-c)*2,vect.z-2*c> 2*c} cylinder{ 2*c} cylinder{<-w/2+2*c,(d-c)*2,2*c> 2*c} cylinder{<-w/2+2*c,(d-c)*2,vect.z-2*c> 2*c} sphere{<-w/2+2*c,(d-c)*2,2*c> 2*c} sphere{ 2*c} sphere{<-w/2+2*c,(d-c)*2,vect.z-2*c> 2*c} sphere{ 2*c} texture{WoodText scale <1.2,1,1>*3 rotate x*-5} } object{RoundBox(<-d*2-w/4,0,-d*2+(vect.z)/2>,,c) texture{WoodText scale <1.2,1,1>*3 rotate x*95} } object{RoundBox(<-d*2+w/4,0,-d*2+(vect.z)/2>,,c) texture{WoodText scale <1.2,1,1>*3 rotate x*95} } } global_settings{ max_trace_level 20 } camera{location <-35,19,-40> look_at <0,-25,40> } /*light_source{ <60,80,-100>*1 rgb <1,1,1>*1 fade_distance 20}*/ #local Torch= union{ object {Stand2A} object {Candle2 translate y*23} } object{Torch translate x*-36+z*20+y*-10} object{Torch translate x*36+z*20+y*-10} object{Candle1 translate y*11+z*56} object{Ambo translate <0,-120,10>} plane{ y, -100 texture{ pigment{color rgb<1,1,1>} finish{ambient .1 diffuse 1.0} } } plane {z, -500 texture{ pigment{color rgb<1,.98,.92>*.5} finish{ambient .1 diffuse 1} } }