#version 3.5; #include "colors.inc" #include "shapes.inc" #declare Radiosity=on; global_settings { assumed_gamma 1.0 max_trace_level 50 #if (Radiosity) 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 } #end } // ---------------------------------------- camera { location <-2,0.2,-3> right x*image_width/image_height look_at <-1, -1.5, -1> } sky_sphere { pigment { gradient y color_map { [0.0 rgb <0.4,0.7,0.9>] [0.6 rgb <0.1,0.5,0.9>] } } } light_source { <3, 3, 3> // light's position (translated below) color rgb <1.0, 1.0, 1.5> // light's color translate <-30, 30, -30> shadowless } // ---------------------------------------- #declare Textpaves = material { texture { pigment { color rgbt <0.1, 0.1, 0.2, 0> } finish { reflection 0.99 } normal { bumps 0.9 scale <0.05, 0.0025, 0.05> noise_generator 3 } } } #declare Textsol = material { texture { pigment { color rgb <0.1, 0.1, 0.2> } finish { reflection 0.9 } } } #declare Boules = texture { pigment { color rgb <1.0, 0.5, 0.0> } finish { ambient 0 diffuse 0.6 reflection {<1.0, 0.75, 0.5>} irid { 0.25 thickness 0.21 turbulence 0 } metallic } } #declare pave = object {Round_Box (<-0.5,-0.5,-0.5>, <0.5,0.5,0.5>, 0.1, 0)}; union { #declare taille = 0.1; #declare longueur = 10; #declare largeur = 10; #declare H = 0; #declare I = 0; #while (H < longueur) #while (I < largeur) object { pave scale taille scale <0.9999,0.5,0.9999> material {Textpaves} translate translate <-longueur/2, 0, -largeur/2> } #declare I = I + taille; #end #declare H = H + taille; #declare I = 0; #end box { <-0.5, -0.5, -0.5> < 0.5, 0.5, 0.5> scale translate <-taille/2,-0.02,-taille/2> scale <1, 0.5, 1> material {Textsol} } translate <0,-0.1,0> } sphere { <-1.75,0.006,-2.75> 0.075 texture {Boules} translate <0,-0.02,0> } sphere { <-2,-0.01,-2.6> 0.05 texture {Boules} translate <0,-0.025,0> }