// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.6 // Desc: Basic Scene Example // Date: mm/dd/yy // Auth: ? // #version 3.6; #include "colors.inc" //#include "stones2.inc" global_settings { assumed_gamma 1.0 } // ---------------------------------------- camera { // location <0, -10.15, 36.5> location <5, 5, 12> direction 1.5*z right x*image_width/image_height //angle 58 look_at <0, -1, 0> } light_source { <0, 0, 0> // light's position (translated below) color rgb <1, 1, 0.9> // light's color translate <-50, 60, -150> } light_source { <0, 0, 0> // light's position (translated below) color rgb 0.5*<1, 1, 0.9> // light's color translate <40, 60, 10> } // An area light (creates soft shadows) // WARNING: This special light can significantly slow down rendering times! light_source { 0*x // light's position (translated below) color rgb 1.0 // light's color area_light <20, 0, 0> <0, 0,20> // lights spread out across this distance (x * z) 8, 8 // total number of lights in grid (4x*4z = 16 lights) adaptive 1 // 0,1,2,3... //jitter // adds random softening of light circular // make the shape of the light circular orient // orient light translate <-30, 10, 30> // position of light } #declare radiosity_on = 1; #if (radiosity_on) // radiosity (global illumination) settings global_settings { radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.04 // end pretrace at this size count 35 // higher -> higher quality (1..1600) [35] nearest_count 5 // higher -> higher quality (1..10) [5] error_bound 1.8 // higher -> smoother, less accurate [1.8] recursion_limit 3 // how much interreflections are calculated (1..5+) [3] low_error_factor .5 // reduce error_bound during last pretrace step gray_threshold 0.0 // increase for weakening colors (0..1) [0] minimum_reuse 0.015 // reuse of old radiosity samples [0.015] brightness 1 // brightness of radiosity effects (0..1) [1] adc_bailout 0.01/2 //normal on // take surface normals into account [off] //media on // take media into account [off] //save_file "file_name" // save radiosity data //load_file "file_name" // load saved radiosity data //always_sample off // turn sampling in final trace off [on] //max_sample 1.0 // maximum brightness of samples } assumed_gamma 1.0 } #else global_settings { assumed_gamma 1.0 } #end #declare base = texture { pigment { granite color_map { [0.3 color rgbt <0.20, 0.20, 0.25, 0.0> ] [0.80 color rgbt <0.15, 0.15, 0.2, 0.0> ] [1.00 color rgbt <0.30, 0.30, 0.35, 0.0> ] } frequency 6 rotate <0, 10, 0> turbulence <0.05, 0.05, 0.05> octaves 6 omega 0.7 lambda 2 } #if (radiosity_on) finish{ ambient 0.0 diffuse 0.3 roughness 1/1 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.2 // shiny roughness 1/1000 } #end scale 2 } #declare base2 = texture { pigment { granite color_map { [0.3 color rgbt <0.40, 0.40, 0.5, 0.0> ] [0.80 color rgbt <0.3, 0.3, 0.4, 0.0> ] [1.00 color rgbt <0.6, 0.6, 0.7, 0.0> ] } frequency 6 rotate <0, 10, 0> turbulence <0.05, 0.05, 0.05> octaves 6 omega 0.7 lambda 2 scale 0.5 } #if (radiosity_on) finish{ ambient 0.0 diffuse 0.3 roughness 1/1 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.2 // shiny roughness 1/1000 } #end scale 2 } #declare overlay = texture { pigment { wrinkles turbulence 0.5 color_map { [0.0 color rgbt <0.1, 0.1, 0.12, 1> ] [0.2 color rgbt <0.1, 0.1, 0.12, 0.6> ] [0.45 color rgbt <0.05, 0.05, 0.08, 0.5> ] [0.65 color rgbt <0.1, 0.1, 0.15, 0.5> ] [0.80 color rgbt <0.15, 0.15, 0.2, 0.6> ] [1.00 color rgbt <0.15, 0.15, 0.2, 1> ] } frequency 1 } scale 0.2*<3,4,2> #if (radiosity_on) finish{ ambient 0.0 diffuse 0.3 specular 0.0 // shiny roughness 1/400 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.2 // shiny roughness 1/1000 } #end } #declare line = texture { pigment {wood turbulence 0.001 color_map {[0.0, 0.02 color Black transmit 0.5 color Black transmit 1.0] [0.02 color Clear] } } #if (radiosity_on) finish{ ambient 0.0 diffuse 0.3 specular 0.1 // shiny roughness 1/100 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.1 // shiny roughness 1/100 } #end } #declare line2 = texture { pigment {wood turbulence 0.05 color_map {[0.0, 0.01 color Black transmit 0.2 color Black transmit 1.0] [0.01, 0.5 color Clear color Clear] [0.5, 0.51 color Black transmit 0.2 color Black transmit 1.0] [0.51 color Clear] } scale 2 } #if (radiosity_on) finish{ ambient 0.0 diffuse 0.3 specular 0.1 // shiny roughness 1/400 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.1 // shiny roughness 1/400 } #end } #declare overlay2 = texture { pigment { wrinkles turbulence 0.5 color_map { [0.0 color rgbt <0.5, 0.5, 0.6, 1> ] [0.2 color rgbt <0.5, 0.5, 0.6, 0.8> ] [0.45 color rgbt <0.1, 0.1, 0.16, 0.6> ] [0.65 color rgbt <0.2, 0.2, 0.3, 0.6> ] [0.80 color rgbt <0.3, 0.3, 0.5, 0.8> ] [1.00 color rgbt <0.3, 0.3, 0.5, 1> ] } frequency 0.5 } scale 0.15*<3,4,2> #if (radiosity_on) finish{ ambient 0.0 diffuse 0.4 specular 0.3 roughness 1/100 } #else finish{ ambient 0.05 diffuse 0.6 specular 0.2 // shiny roughness 1/100 } #end } #declare stone1 = texture{base scale 0.5 } texture{overlay } texture{line scale <2, 2, 1.4> rotate <10, 65, -20> normal{wrinkles 0.1 scale 0.005}} texture{line scale <1, 2, 1.4> rotate <10, 65, 20> normal{wrinkles 0.1 scale 0.005}} texture{line scale <1, 1, 1.4> rotate <10, 25, -20> normal{wrinkles 0.1 scale 0.005}} #declare stone2 = texture{base2 } texture{overlay2 scale 1.5} texture{line2 scale 3*<2, 2, 1.4> rotate <10, 65, -20>} texture{line2 scale 3*<1, 2, 1.4> rotate <10, 65, 20>} texture{line2 scale 3 *<1, 1, 1.4> rotate <10, 25, -20> normal {wrinkles 0.5}} box { <-3,0,-3>, <3,-6,3> texture {stone2 normal{wrinkles 0.5 scale 0.05}} } sphere { 0, 3 translate 1*z texture {stone1}}// normal{wrinkles 0.5 scale 0.05}}}