#include "colors.inc" // The include files contain #include "stones.inc" // pre-defined scene elements #include "textures.inc" // pre-defined scene elements #include "shapes.inc" #include "glass.inc" #include "metals.inc" #include "functions.inc" #include "rad_def.inc" // *** CIE & LIGHTSYS *** #include "LightSysIV\CIE.inc" CIE_ColorSystemWhitepoint(sRGB_ColSys,Illuminant_D50) #include "LightSysIV\lightsys.inc" #include "LightSysIV\rspd_jvp.inc" // predefined material samples #include "LightSysIV\CIE.inc" #include "LightSysIV\CIE_tools.inc" #include "LightSysIV\lightsys_constants.inc" #include "LightSysIV\espd_lightsys.inc" #include "LightSysIV\lspd_elements.inc" #include "LightSysIV\rspd_pantone_coated.inc" #include "LightSysIV\rspd_pantone_matte.inc" #include "LightSysIV\rspd_aster.inc" CIE_ColorSystemWhitepoint(sRGB_ColSys,Illuminant_D50) #declare radiosity_on = 1; global_settings { assumed_gamma 1 max_trace_level 3 adc_bailout 0.1 //ambient_light rgb<1,1,1>*0.5 #if (radiosity_on = 1) radiosity { Rad_Settings(Radiosity_OutdoorLQ,off,off) } #end } #declare LC3 = EmissiveSpectrum(ES_HS_Sodium_Lamp); #declare LC4 = EmissiveSpectrum(ES_Mitsubishi_Metal_Halide); #declare LM3 = Lm_GE_LinearR7S_500w; #declare lampadaire_light = Light_Color(LC4,LM3/5000); #declare lampadaire_plateau = Light_Color(LC4,LM3/5000); #macro sphere_fac(rec_depth,floor_depth,number_of_spheres,scaling_factor,ix,iy,iz,tx,ty,tz,rotx,roty,rotz,cr,cg,cb) #local lrec_depth = rec_depth*0.92; #local lfloor_depth = floor_depth; #local lscaling_factor = scaling_factor*0.95; #local lix = 20*cos(lrec_depth*0.1*pi) + ix/(lrec_depth+1); #local liy = 20*cos(lrec_depth*0.1*pi) + iy/(lrec_depth+1); #local liz = 20*cos(lrec_depth*0.1*pi) + iz/(lrec_depth+1); #local ltx = (10*sin(lrec_depth*0.1*pi) + (tx+lix))/(lrec_depth+1); #local lty = (10*sin(lrec_depth*0.1*pi) + (ty+liy))/(lrec_depth+1); #local ltz = (10*sin(lrec_depth*0.1*pi) + (tz+liz))/(lrec_depth+1); #local lrotx = 40*cos(lrec_depth*0.2*pi) + rotx + lix + ltx; #local lroty = 30*cos(lrec_depth*0.2*pi) + roty + liy + lty; #local lrotz = 20*cos(lrec_depth*0.2*pi) + rotz + liz + ltz; #local lcr = cos(lrec_depth*0.9*pi + 1/10*cr); #local lcg = sin(lrec_depth*0.7*pi + 1/10*cg); #local lcb = cos(lrec_depth*0.6*pi + 1/10*cb); sphere { , 1 texture { pigment{ rgb< lcr, lcg, lcb>} finish { phong 1 reflection{ 0.00 metallic 0.00} } } // end of texture scale lscaling_factor rotate translate } // end of sphere ----------------------------------- #if (lrec_depth > 0 + lfloor_depth) sphere_fac(lrec_depth,lfloor_depth,1,lscaling_factor,lix,liy,liz,ltx,lty,ltz,lrotx,lroty,lrotz,lcr,lcg,lcb) #end #end // perspective (default) camera camera { location <0.0, 2.0, -5.0>*25*(1.5-clock) look_at <0.0, 0.0, 0.0> right x*image_width/image_height } background{rgb 1} // create a regular point light source light_source { 0*x // light's position (translated below) color lampadaire_light // light's color translate <0.0, 2.0, -5.0>*20*(1.5-clock) } #declare A = -100; #while(A <= 100) #declare B = -100; #while(B <= 100) #declare C = -100; #while(C <= 100) sphere_fac(30*clock,27*clock,1,0.8, A,C,B, B,C,B, C,A,B, A,B,C) #declare C = C + 8; #end #declare B = B + 8; #end #declare A = A + 8; #end