//#version unofficial Megapov 0.6; #version unofficial megapov 1.1; #include "colors.inc" #include "stones.inc" #declare phd = 2; global_settings { //ini_option "+QR" //ini_option "Preview_Start_Size=32" //ini_option "Preview_End_Size=1" ambient_light 1 max_trace_level 1000 photons { #if(1) gather 20, 300 radius .3*phd*sqrt(20)/2 autostop 0 jitter .2 #else gather 20, 300 radius .3*phd*sqrt(20)/1 autostop 0 #end } /*photons { gather 60, 300 //steps 3 spacing 0.2 count 10000 media 1000 ,8 //adc_bailout 0.01/2 autostop 1 //expand_thresholds , //radius 0.5 } radiosity { brightness 1 count 130 distance_maximum 10 error_bound 0.25 recursion_limit 16 low_error_factor 0.2 nearest_count 10 gray_threshold 0.0 minimum_reuse 0.015 max_sample 2 adc_bailout 0.01/2 }*/ } camera { location <0,15,0> look_at <0,5,0> } light_source { <0,10,-4> color White photons { //global 0.25 refraction on reflection on } } /* light_source { <150,5,-300> color White photons { //global refraction on reflection on } } light_source { <-150,50,-100> color White photons { //global refraction on reflection on } } light_source { <-150,-500,100> color White photons { //global refraction on reflection on } } */ #declare B1 = union { #declare R = 1; #while (R < 10) cylinder { y*0,y*1,0.5*R translate <0,R*0.25,0> photons { target 0.01*phd reflection on refraction on } } #declare R = R + 1; #end } difference { object { B1 texture { pigment { color rgb <0.7,0.7,0.7> } } } object { B1 texture { pigment { color rgb <0.7,0.7,0.7> } } translate <0,0.2,0> } } object { B1 pigment { color rgbf <1, 1, 1, 1> } finish { conserve_energy phong 1 phong_size 90 diffuse 0 reflection .2 } normal { ripples //scale 3000 frequency 4 } interior { ior 1.33 media { absorption .1 samples 2, 2 } } hollow scale <1.0001,1.0001,1.0001> translate <0,0.1,0> photons { target 0.01*phd refraction on reflection on //ignore_photons } }