// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.5 // Desc: Basic Scene Example // Date: mm/dd/yy // Auth: ? // #version 3.5; #include "colors.inc" #include "functions.inc" global_settings { assumed_gamma 1.0 noise_generator 1 } // ---------------------------------------- camera { location <0.0, 0.5, -15.0> direction 1.5*z right x*image_width/image_height look_at <0.0, 0.0, 0.0> } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.6,0.7,1.0>] [0.7 rgb <0.0,0.1,0.8>] } } } light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 1> // light's color translate <-30, 30, -30> } // ---------------------------------------- #declare FRM = function{ f_ridged_mf(x*3, y, z*3, 0.2, 3.3, 9 ,0.675, .4, 2.5) } #declare CF1=function{pigment{ crackle color_map { [0.00 color rgb <0,0,0> ] [0.2 color rgb <0,1,0>*.75 ] [1 color rgb <0,1,0> ] } scale <.5,2,.5> turbulence .325 //octaves 3 // //omega .55 // soften //lambda 2.3 // ramp_wave } } #declare CF2=function{pigment{ crackle color_map { [0.00 color rgb <0,0,0> ] [0.2 color rgb <0,1,0>*.75 ] [1 color rgb <0,1,0> ] } rotate y*45 //translate y*.5 turbulence .3 ramp_wave } } /* The "Witch of Agnesi" surface looks something like a witches hat. The parameters are: Field Strength Controls the width of the spike. The height of the spike is always about 1 unit. */ #declare Rock = function { - f_witch_of_agnesi(x,y,z,1,0.3)} // for a boulder use a sphere function #declare RF = function{x*x + (y*y)/3 + z*z - 1} #declare Rock2 =function{RF(x*(1.5+y/1),y,z*(1.5+y/2))} #declare Rocks2 = isosurface { function { //Rock(x,y/4,z) Rock2(x,y/1.5,z) -CF1(x,y/1.5,z).gray*.75 +CF2(x*2,y,z*2).gray*.1//05 -FRM(x,y,z)*.25 } max_gradient 105//20 accuracy.0001 contained_by { box { <-1.5,0,-1.5> ,<1.5,1.1*55,1.5> } } } object{Rocks2 texture{pigment{rgb<1,.9,.8>}} rotate y*45 scale <1,1,1> translate y*-1 hollow }