#include "colors.inc" #include "textures.inc" #include "metals.inc" #include "../include/lightsys/CIE.inc" #declare ColSys = sRGB_ColSys; //CIE_ColorSystemWhitepoint(ColSys, Illuminant_F11) //CIE_ColorSystemWhitepoint(ColSys, Whitebody2Whitepoint(4000)) //CIE_ColorSystemWhitepoint(ColSys, Illuminant2Whitepoint(4000)) CIE_ColorSystemWhitepoint(ColSys,Daylight2Whitepoint(5500)) #include "../include/lightsys/lightsys.inc" #include "../include/lightsys/lightsys_constants.inc" #include "../include/lightsys/lightsys_colors.inc" #include "../include/lightsys/rspd_jvp.inc" // material samples #declare light_type = Cl_SI_D65; #declare use_flat = false; #declare show_grip = false; #include "robot.inc" #declare use_area = 4; // use area lights? #declare use_blur = 0; //40; //100; //40; //40; //20; // blur samples (0=off) #declare use_radio = false; #declare use_trans = 0; global_settings { assumed_gamma 2.2 ambient_light 1 max_trace_level 256 #if (use_radio) radiosity { pretrace_start 0.08 // start pretrace at this size pretrace_end 0.04 // end pretrace at this size count 35 //50 //35 // higher -> higher quality (1..1600) [35] nearest_count 5 //7 //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 .75 //.25 //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 } background { color White } /* fog { distance 2000 color White } */ #declare MainCamera = camera { location <0,35,-40> #local lookAt = <0,25,0>; look_at lookAt right up y #if (use_blur) focal_point lookAt aperture 1.5 // > more blurry blur_samples use_blur variance 0 #end } #declare cameraLocation = <1,24,-23>; #declare cameraLookAt = <1,24,-13>; #declare CloseCamera = camera { location cameraLocation look_at cameraLookAt right up y #if (use_blur) focal_point cameraLookAt aperture 1 //.25 //1 // > more blurry blur_samples 80 //use_blur //variance 1/10000 variance 0 //variance .1 //confidence .99 #end //rotate <10,0,0> translate <0,.5,0> } //camera { MainCamera } camera { CloseCamera } #declare cl = cameraLocation; /* light_source { 0*x // light's position (translated below) color rgb 1.0 // light's color area_light <8, 0, 0> <0, 0, 8> // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 0 // 0,1,2,3... jitter // adds random softening of light circular // make the shape of the light circular orient // orient light translate <40, 80, -40> // position of light } */ // ******************** // *** CIE+lightsys *** // ******************** #declare Lightsys_Brightness = 2.5; #declare fl_lm=2000; // + lamp object #macro sheet(cl) box{-.5,.5 material{ texture{ pigment { color rgbf<1, 1, 1, 1> } finish { diffuse 0 } } interior{ media { method 1 emission cl intervals 10 samples 1, 10 confidence 0.9999 variance 1/1000 } } } hollow no_shadow } #end #macro bulb(cl) sphere{0,.5 material{ texture{ pigment { color rgbf<1, 1, 1, 1> } finish { diffuse 0 } } interior{ media { method 1 emission cl intervals 10 samples 1, 10 confidence 0.9999 variance 1/1000 } } } hollow no_shadow } #end //#declare LIGHT = Cl_Moonlight; //Cl_SI_B; //Cl_Moonlight; //Cl_Compact_White_Fluor; //Cl_Sodium; //Cl_Warm_White_Fluor; // Cl_Cool_White_Fluor //#declare LIGHT2 = Cl_Moonlight; //Cl_Moonlight; //Cl_Halogen Cl_Compact_White_Fluor; //Cl_Sodium; //Cl_Warm_White_Fluor; // Cl_Cool_White_Fluor #declare LIGHT = light_type; //Cl_Cool_White_Fluor; //Cl_Warm_White_Fluor; //Cl_Incandescent_60w; //Cl_Compact_White_Fluor; //Cl_Sodium; //Cl_Warm_White_Fluor; // Cl_Cool_White_Fluor #declare LIGHT2 = light_type; //Cl_Cool_White_Fluor; //Cl_Incandescent_60w; //Cl_Compact_White_Fluor; //Cl_Sodium; //Cl_Warm_White_Fluor; // Cl_Cool_White_Fluor union{ Light(LIGHT,500,<48,0,0>,<0,0,48>,6*use_area,6*use_area,1) object{sheet(LIGHT*900)scale <24,.1,3> translate .9*y} //translate (-200+400*rand(r_l))*z //translate (-200+400*rand(r_l))*x //translate (250*rand(r_l))*y translate <-150, 180, -100> } union{ Light(LIGHT2,500,<48,0,0>,<0,0,48>,6*use_area,6*use_area,1) //Light(LIGHT2,1900,<48,0,0>,<0,0,48>,6*use_area,6*use_area,1) object{sheet(LIGHT2*900)scale <24,.1,3> translate .9*y} //translate (-200+400*rand(r_l))*z //translate (-200+400*rand(r_l))*x //translate (250*rand(r_l))*y //translate <120, 180, -35> translate <120, 180, -50> } /* #declare rbot = object { Robot() } #declare Robots = union { #local R1 = seed(0); #local loop = 0; #while (loop<100) #local xs = int(rand(R1) * 30 + rand(R1) * -30); #local zs = 50 + int(rand(R1) * 500); #local r = rand(R1) * 33 + rand(R1) * -33 + 33; object { //object { rbot } object { Robot() } rotate <0,r,0> translate } #local loop = loop + 1; #end } object { Robots } */ #declare MyPosition = array[12] { // Left Arm 0, // hand rot fwd 0, // hand rot 0, // sholder rot forward 0, // sholder rot side 0, // eblow rotation forward 0, // eblow rotation side-side // Right Arm 0, // hand rot fwd 150, // hand rot 60, // sholder rot forward -10, // sholder rot side 70, // elbow rotation forward -90 // eblow rotation side-side [0..-90] } #declare MyPosition2 = array[12] { // Left Arm 0, // hand rot fwd rand(R1)*45, // hand rot rand(R1)*-90, // sholder rot forward -25, // sholder rot side rand(R1)*-90, // eblow rotation forward 0, // eblow rotation side-side // Right Arm 0, // hand rot fwd rand(R1)*-45, // hand rot rand(R1)*90, // sholder rot forward -45, // sholder rot side rand(R1)*90 // elbow rotation forward 0 // eblow rotation side-side [0..-90] } object { Robot(MyPosition) translate <1, 0, 0> } object { Robot(MyPosition2) scale .18 translate <1.25,21.5,-11.5> } plane { y, 0 texture { Aluminum pigment { color White } finish { //reflection .1 ambient .5 } } } /* plane { y, 2000 texture { //Aluminum pigment { color White } finish { //reflection .1 ambient .5 } } } */