#include "colors.inc" #include "textures.inc" #include "stones.inc" #include "functions.inc" //global_settings { // photons { spacing 0.1 } //} #macro mybox(p) box { 0, 1 pigment { color rgb <0, .5, 1> } finish { reflection { 0.6 metallic 0.4 } ambient 0.1 } translate 1.2 * p } #end #macro myredbox(p) box { 0, 1 pigment { color rgb <1, 0, 0> } finish { reflection { 0.7 metallic 0.4 } ambient 0.1 } translate 1.2 * p } #end union { #local yy = 0; #while (yy < 2) #local zz = 0; #while (zz < 4) #local xx = 0; #while (xx < 4) mybox() #local xx = xx + 1; #end #local zz = zz + 1; #end #local yy = yy + 1; #end mybox(<0, 2, 0>) mybox(<1, 2, 0>) mybox(<2, 2, 0>) mybox(<3, 2, 0>) mybox(<0, 2, 1>) mybox(<1, 2, 1>) mybox(<2, 2, 1>) mybox(<0, 2, 2>) mybox(<1, 2, 2>) mybox(<2, 2, 2>) mybox(<0, 2, 3>) mybox(<1, 2, 3>) mybox(<2, 2, 3>) mybox(<3, 2, 3>) mybox(<0, 3, 0>) mybox(<1, 3, 0>) mybox(<0, 3, 1>) mybox(<2, 3, 1>) mybox(<0, 3, 2>) mybox(<1, 3, 2>) mybox(<2, 3, 2>) mybox(<0, 3, 3>) mybox(<1, 3, 3>) mybox(<2, 3, 3>) mybox(<3, 3, 3>) object { mybox(<-0.5, 0, -0.5>) rotate -20 * y translate <0.5, 0, 0.5> + 1.2 * <4.5, 0, 0.8> } mybox(<6, 0, 1>) object { mybox(<-0.5, 0, -0.5>) rotate 25 * y translate <0.5, 0, 0.5> + 1.2 * <7.5, 0, 1> } object { mybox(<-0.5, 0, -0.5>) rotate 45 * x rotate 45 * z rotate -45 * y translate <0.5, 0, 0.5> + 1.2 * <6.2, 0, 2.5> } object { mybox(<-0.5, 0, -0.5>) rotate 40 * y translate <0.5, 0, 0.5> + 1.2 * <7.3, 0, 3.1> } myredbox(<9, 0, 2>) // photons { target reflection on refraction on } } /* Water cutoff (deep water plane) */ plane { y, -1000 pigment { color Black } } /* Water plane */ plane { y, 0.5 material { texture { pigment { color rgbt <1, 1, 1, 1> } finish { ambient 0 diffuse 0 reflection { 0, 1 fresnel on } specular 0.4 roughness 0.003 } normal { function { f_ridged_mf(x, y, z, 0.1, 3.0, 7, 0.7, 0.7, 2) } 0.8 scale 0.13 } } interior { ior 1.3 } } //pigment { color rgbt <0, 192/255, 192/255, 0.5> } //normal { bumps 0.1 scale 10 } //finish { reflection 0.3 } } light_source { <100, 1000, 100> color White } light_source { <1000, 900, -1000> color White } light_source { <10, 900, 100> color White/2 } /*plane { y, -100 hollow pigment { color Black } }*/ plane { y, 0 hollow texture { pigment { bozo turbulence 0.65 octaves 6 omega 0.7 lambda 2 color_map { [0.0 color rgb 0.95 ] [0.1 color rgb 0.85 ] [0.5 color rgbt 1 ] [1.0 color rgbt 1 ] } rotate <10, 20, 0> scale <0.3, 0.4, 0.2> * 3 } finish { ambient 1 diffuse 0 } } scale 1000 translate 1000*y } plane { y, 0 hollow texture { pigment { bozo turbulence 0.4 octaves 5 omega 0.6 lambda 1.9 color_map { [0.0 color rgb 0.95 ] [0.1 color rgb 0.85 ] [0.5 color rgbt 1 ] [1.0 color rgbt 1 ] } rotate <10, 20, 0> scale <0.3, 0.4, 0.2> * 3 } finish { ambient 1 diffuse 0 } } scale 5000 translate 2000*y } plane { y, 10000 hollow texture { pigment { color rgb < 0.05, 0.25, 0.6> } finish { ambient 1 diffuse 0 } } } camera { location <20, 7, -3> look_at <0, 2, 4*1.2> // location <20, 1, -3> // look_at <0, 1, 4*1.2> } background { color Black }