/* Dielectric Doodle */ #version 3.7; //==================================================== // scene control #local CAUSTICS = on; #local SOFTSHADOWS = on; #local BLUR = 150; #local LIGHT = 210; //==================================================== global_settings { assumed_gamma 1.0 max_trace_level 100 #if (CAUSTICS) photons { count 100000000 autostop 0 } #end } //==================================================== // macro for dielectric materials #macro Dielectric (COLOR, IOR, Frosted) material { texture { pigment {rgb COLOR filter 1} finish { ambient 0 diffuse 0 reflection {0 1 fresnel on} conserve_energy } #if (Frosted) normal { bozo 0.8 scale 0.075 } #end } interior { ior IOR fade_power 1001 fade_distance 1/IOR fade_color rgb } } photons { target refraction on reflection on collect off } #end //==================================================== // camera camera { location <0, 32, -60> look_at <0, 12, 0> right x*image_width/image_height angle 40 #if (BLUR) aperture 1.8 focal_point <0,12,0> blur_samples BLUR confidence 0.9999 variance 1/10000 #end } //==================================================== // light union { light_source { 0 , <1.0, 0.97, 0.90>*LIGHT #if (SOFTSHADOWS) area_light 5*x, 5*z, 19,19 jitter adaptive 1 #end fade_power 2 fade_distance 2*pi photons { refraction on reflection on area_light } } box { -1,1 scale <12, 0.1, 12> no_shadow pigment { rgb 1 } finish { ambient LIGHT/10 diffuse 0 } photons { pass_through target off } } translate <40, 80, -35> } //==================================================== // surrounding/room box {<-210,-130,-160> <210,140,310> hollow pigment {rgb <0.85, 0.80, 0.60>} finish {ambient 0 diffuse 1} photons { pass_through target off } } // backdrop union { box { <-100,-1,-100>, < 100, 0, 100> photons { collect on refraction on reflection on } } box { <-100,-1, 100>, < 100, 100, 101> photons {collect off}} cylinder { <-100,0,0>, <100,0,0>, 25 open clipped_by { plane {y,0} plane {-z,0} } photons {collect off} translate <0,25,75> } texture { pigment {rgb 0.7} finish { ambient 0 diffuse 1 } } } //==================================================== // objects // just a thing, maybe it can be used as a candle holder? #declare Thing = merge { lathe { cubic_spline 29, <0.000000,0.915491>, <0.000000,0.930767>, <0.091658,0.930767>, <0.204049,0.928585>, <0.230237,0.956955>, <0.248787,0.994055>, <0.310983,0.994055>, <0.310983,0.936223>, <0.304436,0.879482>, <0.231328,0.851112>, <0.152764,0.841292>, <0.136396,0.821650>, <0.144034,0.793280>, <0.122211,0.755089>, <0.189863,0.630696>, <0.177861,0.476841>, <0.134214,0.308801>, <0.170222,0.271701>, <0.177861,0.255334>, <0.177861,0.222599>, <0.243331,0.139670>, <0.333898,0.072017>, <0.452835,0.038191>, <0.441924,0.000000>, <0.303345,0.034917>, <0.183316,0.125484>, <0.067652,0.273883>, <0.000000,0.296798>, <0.000000,0.280431> sturm rotate x*180 translate y*0.994055 scale <16, 18, 16> } #local I = 0; #while (I < 16) sphere {0, 0.5 translate <4, 2.3, 0> rotate y*22.5*I} #local I = I+1; #end } // blue glass thing object { Thing translate <-6, 0.01, 16> Dielectric (<0.84, 0.93, 1.0>, 1.5, off) } // orange glass thing object { Thing translate <6, 0.01, 4> Dielectric (<0.98, 0.95, 0.5>, 1.5, off) } // frosted green glass thing object { Thing translate <-12, 0.01, -2> Dielectric (<0.6, 0.99, 0.75>, 1.5, on) } // crystal glass thing object { Thing translate <14, 0.01, -12> Dielectric (<0.98, 0.98, 0.98>, 1.55, off) } //====================================================