#declare USE_PHOTONS=on; #declare PERSPECTIVE_CAM=off; #declare TOP_CAM=on; global_settings { #if(USE_PHOTONS) photons { spacing 0.00035 autostop 0 jitter 0 load_file "water-top.photons" } #end max_trace_level 20 } light_source { //<-50, 50, 100> <0, 50, 0> color rgb 1.25 photons { refraction on reflection on } } #if (PERSPECTIVE_CAM) camera { //location <0,1.1,-4> location <.6,1.5,-4> //look_at <0,0,-1.7> look_at <.135,0,-0.60> angle 40 } #end #declare Water_Base=-.55; #if (TOP_CAM) camera { location <0, Water_Base + 1.5, 0> look_at <0,0,0> angle 60 } #end background { rgb <.5,.5,.5> } global_settings { ambient_light .5 } #declare Value=0.06; #declare Pattern_Scale=0.15; #declare fn_pattern0= function { pattern { bumps rotate -y*360*clock scale scale <.75, 1.5, .75> scale .25 } } #if( clock > .5 ) #declare yclock = 1 - clock; #else #declare yclock = clock; #end #declare fn_water= function { y - (fn_pattern0(x - 20, 2*yclock, z))*Value } #declare ROOT2 = 1.4142136; #declare CLIP_BOX= difference { box { <-2.5, -2.1, -2.5> <2.5, 2.5, 2.5> } box { <-1, -2.15, -1> <1, 2.55, 1> rotate y*45 } } difference { isosurface { function { fn_water(x, y-.5, z) } max_gradient 2.5 contained_by { box {<-ROOT2,Water_Base,-ROOT2> } } accuracy .0001 } CLIP_BOX texture { pigment { rgbf <.8, .9, .9, .9> } } finish { roughness .00001 specular .8 reflection { .05 .75 fresnel on } } interior { ior 1.33 fade_power 1.9 fade_distance .25 } photons { target reflection on refraction on collect on } } plane { y, Water_Base + 0.00001 pigment { rgb <.95 .95 .8> } }