#include "colors.inc" #declare RADIOSITY=true; global_settings{ max_trace_level 18 #if (RADIOSITY) radiosity { brightness 0.1 adc_bailout 1/128 pretrace_start .008 pretrace_end .04 count 100 nearest_count 8 error_bound .2 low_error_factor 0.3 recursion_limit 5 } #end } //Grande sphere d'ambiance copiée de Toy Pump de Alex Kluchikov sphere{0,1000 texture{ pigment { gradient y color_map{ [0,color rgb <0.8,0.83,1>] [1,color rgb <0.4,0.7,1>] } scale 2 translate -y} finish{ambient .4 diffuse .8} scale 1000} texture{ pigment{average pigment_map{ #declare gr=.75; #declare ge=3/(1+gr+gr); #declare t1=.1; #declare t2=.9; #declare tr1=-.2; #declare tr2=.2; [1,bozo translate 1*y color_map{ [t1,color rgbt < 1,gr,gr,tr1>*ge] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*z color_map{ [t1,color rgbt < gr, 1,gr,tr1>*ge/.85] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] [1,bozo translate 1*x color_map{ [t1,color rgbt < gr,gr, 1,tr1>*ge/.7] [t2,color rgbt < 0, 0, 0,tr2>*ge] }] }}scale 0.25 finish{ambient .4 diffuse .8}scale 2500} no_shadow no_image //no_reflection hollow double_illuminate scale 1} camera { location <1.8,0.5,-1.7> look_at <1.4,0,-1> blur_samples 35 aperture 0.04 focal_point <1.2,0,-1.2> } light_source { <3,-0.5,-1> color White*1.56 area_light 2*x,2*y,6,6 rotate x*35 rotate y*65 fade_power 2 fade_distance 1.5} light_source { <3,6,-1> color <1,1,1.2>*3.5 area_light 2*x,2*y,6,6 rotate x*45 rotate y*145 fade_power 2 fade_distance 1.5 } light_source { <3,6,-1> color <1,1,1.2>*3.5 area_light 2*x,2*y,6,6 rotate x*15 rotate y*75 fade_power 2 fade_distance 1.5} background { color White } #declare orange = pigment { color rgb <2,1,0>/2 } #declare Blanc = pigment { color White*1.5 } sphere { <0,0.2,0>,0.199 translate <1.2,0,-1.2> texture { pigment { orange } finish { diffuse 1 phong 1 phong_size 80 reflection {.1,.3} } } } #declare bague = object { difference { sphere { <0,0,0>,0.02 } sphere { <0,0,0>,0.019 } box { <-0.021,-0.021,-0.021>,<0.021,0,0.021> } box { <-0.021,0.0025,-0.021>,<0.021,0.021,0.021> } } } #declare trous = object { object { difference { box { <-0.5,0,-0.5>,<0.5,0.005,0.5> } #declare i=0; #while (i<9) #declare j=0; #while (j<9) sphere { <-0.4+(i*0.1),0.01,-0.4+(j*0.1)>,0.02 } #declare j=j+1; #end #declare i=i+1; #end } } } #declare dalle = object { union { object { trous } #declare i=0; #while (i<9) #declare j=0; #while (j<9) object { bague translate <-0.4+(i*0.1),0.005,-0.4+(j*0.1)> } #declare j=j+1; #end #declare i=i+1; #end } } #declare i=0; #while (i<15) #declare j=0; #while (j<15) object { dalle translate <-10+(i*1.1),0,-10+(j*1.1)> texture { pigment { Blanc } finish { ambient 0 diffuse 0.7 phong 0.2 phong_size 0.3 } } //texture { T_metal_paint rotate <-90,0,0> } //texture { T_rust rotate <-90,0,0> } //texture { T_nude_metal rotate <-90,0,0> } //texture { T_dirt rotate <-90,0,0> } } //object { dalle rotate <0,0,-90> translate <-10,0+(i*1.1),-10+(j*1.1)> pigment { Blanc } } //object { dalle rotate <-90,0,0> translate <-10+(i*1.1),0+(j*1.1),10> pigment { Blanc } } #declare j=j+1; #end #declare i=i+1; #end plane { y,0 texture { pigment { color rgb <1,0.9,0.7> } finish { diffuse 1 phong 1 phong_size 80 reflection {.1,.3} } } } #declare i=0; #while (i<100) box { <0,0,-50>,<0.25,0.45,50> texture { pigment { Blanc } finish { ambient 0.2 diffuse 0.8 phong 0.2 phong_size 0.4 } } translate <-50+(i*1.3),7,0> } #declare i=i+1; #end plane { y,7.45 texture { pigment { Blanc } finish { ambient 0.2 diffuse 0.8 phong 0.2 phong_size 0.4 } } hollow }