#include "colors.inc" #declare use_photons=on; #global_settings { max_trace_level 12 assumed_gamma 2.3 #if (use_photons) photons { gather 20, 100 radius 4, 2, 6 jitter 0.2 max_trace_level 8 adc_bailout 1/256 load_file "glass.ph" } #end } #declare T_Wood32= texture { pigment { wood turbulence 0.04 color_map { [0.15 color rgbt <0.38039, 0.14902, 0.0, 0.0>] [0.25 color rgbt <0.23539, 0.00000, 0.0, 0.0>] [0.35 color rgbt <0.38139, 0.14912, 0.0, 0.0>] [0.45 color rgbt <0.23549, 0.00000, 0.0, 0.0>] [0.55 color rgbt <0.38139, 0.14902, 0.0, 0.0>] [0.65 color rgbt <0.23559, 0.00000, 0.0, 0.0>] [0.75 color rgbt <0.38139, 0.14922, 0.0, 0.0>] [0.85 color rgbt <0.23549, 0.00000, 0.0, 0.0>] [0.95 color rgbt <0.38039, 0.14902, 0.0, 0.0>] [0.90 color rgbt <0.23539, 0.00000, 0.0, 0.0>] [1.00 color rgbt <0.38039, 0.14932, 0.0, 0.0>] } scale 0.15 } } #declare T_Wood34 = texture { T_Wood32 } texture { pigment { onion turbulence 0.2125 colour_map { [0.225 colour rgbt <1.000000, 0.53333, 0.11767, 0.4875>] [0.350 colour rgbt <0.662750, 0.28617, 0.00001, 0.7250>] [0.500 colour rgbt <1.000100, 0.53333, 0.11765, 0.5745>] [0.625 colour rgbt <0.662775, 0.28627, 0.00005, 0.6875>] [0.750 colour rgbt <1.000200, 0.53333, 0.11755, 0.5275>] [0.875 colour rgbt <0.662755, 0.28629, 0.00001, 0.3795>] [1.000 colour rgbt <1.000000, 0.53333, 0.11665, 0.6165>] } scale <0.225, 0.20, 1.15> } } #if (use_photons) /* If you remove this line the parser gives an error */ #end difference { union { intersection { superellipsoid { <1, 0.5> rotate 90*x translate 0.5*y scale <3.1,1.2,3.1> } union { cone { 0*y, 2.7, 0.3*y, 3 } cone { 1.2*y, 3, 1.5*y, 2.7 } intersection { plane { -y, 0.3 } plane { y, 1.5 } #declare i=0; #while (i<12) plane { x, 3 rotate y*30*i } #declare i=i+1; #end } } } merge { cylinder { 1.5*y, 6*y, 2.7 } cylinder { 6*y, 7.2*y, 3 } torus { 2.7, 0.3 translate 6*y } torus { 2.85, 0.15 scale <1,0.5,1> translate 7.2*y } #declare j=-1; #while (j<9) #declare i=0; #while (i<20) superellipsoid { <0.25, 1.75> rotate 90*x rotate 45*y scale 0.3 scale <0.6,1,1> translate <2.68725,1.9+j*0.4,0> rotate i*18*y+9*mod(j,2)*y } #declare i=i+1; #end #declare j=j+1; #end } } cylinder { 0.5*y, 7.3*y, 2.35 } cone { 6*y, 2.35, 7.200001*y, 2.7 } bounded_by { cylinder { 0, 7.2001*y, 3.001 } } texture { pigment { rgb <0.975,0.9825,1> filter 0.995 } finish { specular 0.25 roughness 0.0025 phong 0.35 phong_size 20 metallic 0.125 diffuse 0.3 ambient 0.6 reflection 0.15 } } interior { ior 1.45 fade_power 2 fade_distance 5 caustics 1.5 } #if (use_photons) photons { separation 0.1 refraction on reflection on ignore_photons } #end translate -0.0001*y } union { plane { y,-0.0000001 #if (use_photons) photons { ignore_photons } #end } cylinder { -y, 0, 4 translate <-4,0,1> } texture{ T_Wood34 finish { diffuse 2 } scale 3 rotate <-2,40,0> translate 50 } } light_source { <80,100,-20> color White area_light 20*x, 20*y, 3, 3 adaptive 0 spotlight point_at 3.5*y radius 2 falloff 5 tightness 30 rotate 20*y #if (use_photons) photons { refraction on reflection on area_light } #end } light_source { 100*y color rgb 1 fade_distance 50 fade_power 2 shadowless #if (use_photons) photons { refraction off reflection off } #end } camera { location < 0.2, 15, -25> angle 30 right x look_at <-1.8,3.6,0> }