#version 3.6; #declare Radiosity_low = off; #declare Radiosity_hi=off; #declare VERBOSE = true; global_settings { assumed_gamma 2.4 max_trace_level 25 #if (Radiosity_low) radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.02 // end pretrace at this size count 300 // higher -> higher quality (1..1600) [35] nearest_count 4 // higher -> higher quality (1..10) [5] error_bound .5 // higher -> smoother, less accurate [1.8] recursion_limit 5 // 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_low) finish { ambient 0.0 diffuse 0.0 //specular 0.3 } #else finish { ambient 0.1 diffuse 0.6 specular 0.3 } #end } } //------------------------------------------ // TEXTURES //------------------------------------------ #declare f_chrome = finish { ambient 0 diffuse .6 reflection {<0.968627, 0.619608, 0.243137>*.1,<0.968627, 0.619608, 0.243137>*.4 metallic} conserve_energy phong 1 phong_size 25 } #declare t_gold = texture { pigment{ rgb <0.968627, 0.619608, 0.243137>*1.2} finish {f_chrome} normal {bumps .5 bump_size .04 scale .02} } //------------------------------------------ // MACROS //------------------------------------------ #macro letter(Offset) //draw a text with cylindrical simmetry //Offset is the radius of give cylinder on which the letters are projected to #local TEXT = "Persistence of Creativity"; #local LENGHT = 25; //lenght of string #local theta = 0; #local INCREMENT = 6; //angular increment #local i = 1; #local s = ""; //single letter extracted from string #while (i <= LENGHT) #local s = substr(TEXT,i,1); text{ ttf "AVALQ___.TTF" s .5, 0 scale .2 translate z*Offset rotate y*theta } #if (asc(s) = asc("i")) #local theta = theta + INCREMENT /2; #else #local theta = theta + INCREMENT; #end #local i = i + 1; #end #end //---------------------------------------- // C O M M O N O B J E C T S //---------------------------------------- camera { right x*image_width/image_height location <0,1.5,-2> look_at <0,0,0> angle 65 /*focal_point <.5,1.3,1> aperture 0.1 variance 1/5000 blur_samples 100*/ } light_source { //main white light <-500,500,-700> color rgb 1 area_light <50, 0, 0>, <0, 0, 50>, 10, 10 adaptive 1 jitter //orient } light_source { //secondary reddish light <500,500,-700> color rgb <0.968627, 0.619608, 0.243137>*.5 area_light <50, 0, 0>, <0, 0, 50>, 10, 10 adaptive 1 jitter //orient } //---------------------------------------------------------------------------- background {color .7} #declare ring = difference { torus {1,.1 sturm} cylinder {<0,-.5,0>,<0,.5,0>,.96} union { letter(.9) translate y*-.06 } } object {ring texture {t_gold} rotate <15,-73,0> } /*cylinder {<0,0,0>,<0,10,0>,.012 pigment {color rgb <1,0,0>} rotate z*-90} //x axis cylinder {<0,0,0>,<0,10,0>,.012 pigment {color rgb 0} } //y axis cylinder {<0,0,0>,<0,10,0>,.012 pigment {color rgb <0,0,1>} rotate x*90} //z axis*/