#version 3.7; global_settings{ assumed_gamma 1.0 } #declare granite_rock= texture{ pigment{ pigment_pattern{ bumps scale .15 } pigment_map{ [-.2 rgb 1] [.5 crackle solid scale .0125/4 color_map{ [0 rgb 1] [.5 rgb <1,.875,.75>-.5] [1 rgb 0] } ] } } normal{crackle 1 solid scale .0125/4} finish{brilliance .5 diffuse .785} } #declare rock= function{ pigment { //spherical //or: boxed pigment_map { [0.0 rgb 0] [0.5 pigment_pattern { image_map { png"Mapping_test.png" gamma 1.0 interpolate 2 } translate-(x+y)/2 scale 2 } pigment_map { [0.0 rgb 0.0] //[0.5 granite scale <5, 0.5, 5> poly_wave 0.5 rotate z*12 color_map { [0 rgb 0.25] [1 rgb 0.75] } ] [1.0 rgb 1] } ] //[1.0 rgb 1] } } } isosurface { function { 0-rock(x,y,z).grey+0.05 } accuracy 0.001 //max_gradient 2 max_gradient 200 all_intersections contained_by {box {<-1,-1,-1>,<1,1,1>}} texture {granite_rock} } light_source { 200, 1 } light_source { -200, 0.8 } light_source { <-200,0,-200>, 0.9 } camera { location <10,10,-10> look_at 0 up y direction z right image_width/image_height*x angle 15 }