// Persistence of Vision Ray Tracer Scene Description File // File: ?.pov // Vers: 3.5 // Desc: Radiosity Scene Template // Date: mm/dd/yy // Auth: ? // #version 3.5; #declare Radiosity=off; global_settings { assumed_gamma 1.0 //max_trace_level 25 #if (Radiosity) radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.02 // 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 } #end } #default { texture { pigment {rgb 1} #if (Radiosity) finish { ambient 0.0 diffuse 0.6 specular 0.3 } #else finish { ambient 0.1 diffuse 0.6 specular 0.3 } #end } } #include "colors.inc" #include "stones.inc" #include "metals.inc" #include "golds.inc" #macro Face(L,Az,Ay,T1,T2) //----------------------------------------------------------------// #local Pl = box{<-2,-1,-2>, 2 texture { T1 translate Ay }} #local Le = text { ttf // font type (only TrueType format for now) "Timrom.ttf", // Microsoft Windows-format TrueType font file name L, // the string to create 0.2, // the extrusion depth 0 // inter-character spacing texture { T2 } rotate -90*x } #local Mi = min_extent(Le); #local Ma = max_extent(Le); #local Tr = -(Mi+Ma)/2; #local Sc = vlength(Ma-Mi); #local Sc = 0.8/Sc; //----------------------------------------------------------------// difference{ object {Pl} object {Le scale Sc translate -y + Tr*Sc} rotate Az*z rotate Ay*y } #end // ---------------------------------------- #declare Dir = <-3.0, 3, -4.0>; #declare Blur = off; camera { location 1.2 * Dir direction 1.5*z right x*image_width/image_height look_at <0.0, 0.1, 0.0> #if (Blur) aperture 0.7 // [0...N] larger is narrower depth of field (blurrier) blur_samples 10 // number of rays per pixel for sampling focal_point <0,1,0> // point that is in focus confidence 0.97 // [0...<1] when to move on while sampling (smaller is less accurate) variance 1/200 // [0...1] how precise to calculate (smaller is more accurate) #end } #declare Area = off; light_source { <0, 0, 0> // light's position (translated below) color rgb <0.3, 0.3, 0.3> // light's color #if (Area) area_light <4, 0, 0> <0, 0, 4> // lights spread out across this distance (x * z) 10, 10 // 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 #end translate <-4, 12, -3> } // ---------------------------------------- #declare Angle = 61.91803; #declare P1 = T_Silver_5E #declare P2 = T_Gold_3E #declare De12 = intersection{ Face("1",0,0,P1 ,P2) Face("2",Angle,0,P1 ,P2) Face("3",Angle,72,P1 ,P2) Face("4",Angle,144,P1 ,P2) Face("5",Angle,-72,P1 ,P2) Face("6",Angle,-144,P1 ,P2) Face("7",180,0,P1 ,P2) Face("8",180+Angle,0,P1 ,P2) Face("9",180+Angle,72,P1 ,P2) Face("10",180+Angle,144,P1 ,P2) Face("11",180+Angle,-72,P1 ,P2) Face("12",180+Angle,-144,P1 ,P2) bounded_by{ sphere{0,1.3}} } box { -10, 10 pigment { crackle color_map { [0.0 color DarkTurquoise ] [1.0 color Turquoise ] } } translate 9*y } object { De12 rotate -Angle*z rotate 150 * y translate <2.5,0,3.5> } object { De12 rotate -(180+Angle)*z rotate 150 * y translate <-1,0,1.5> } object { De12 translate <1,0,-1> }