#version 3.7; #ifdef (SDL) // do nothing // Settings, includes, camera, lightsource, etc. will already be defined in main scene file #debug "Variable SDL defined, skipping include file scene definition \n" #else // setup scene file for independent rendering of this include file #debug "Variable SDL not defined, setting up include file scene definition \n" /* // radiosity (global illumination) settings #default {finish {ambient 0 diffuse 1} } global_settings { assumed_gamma 1.0 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 radiosity } // end global settings */ #include "debug.inc" Set_Debug (true) #include "colors.inc" #include "textures.inc" #include "glass.inc" #include "metals.inc" #include "golds.inc" #include "stones.inc" #include "woods.inc" #include "shapes.inc" #include "shapes2.inc" #include "functions.inc" #include "math.inc" #include "transforms.inc" #declare Feet = 12; //########################## #declare Camera_Number = 0; #declare Fraction = 1; //########################## #switch ( Camera_Number ) #case (0) #declare Camera_Orthographic = true; #declare Camera_Position = <0, 0, -30*Feet> ; // front view #declare Camera_Look_At = <0, 0, 0> ; #declare Fraction = 8; // functions as a zoom for the orthographic view // 4 zooms in 4x, 8 zooms in 8x, etc. #break #case (1) #declare Camera_Orthographic = false; #declare Camera_Position = <0, 0, -10*Feet> ; // front view #declare Camera_Look_At = <0, 0, 0> ; #break #case (2) #declare Camera_Position = < 0.00, 36.00, -48.00> ; // front view #declare Camera_Look_At = < 0.00, 24.00, 0.00> ; #declare Camera_Angle = 65 ; #break #case (3) #declare Camera_Position = < 0*Feet, 2*Feet, 0*Feet> ; // top view #declare Camera_Look_At = < 0.00, 0*Feet, 0*Feet> ; #declare Camera_Angle = 65 ; #break #case (4) #declare Camera_Position = < 0.00, 9*Feet, 27*Feet> ; // mobile view #declare Camera_Look_At = < 0.00, 0*Feet, 33*Feet> ; #declare Camera_Angle = 65 ; #break #case (5) #declare Camera_Position = < 0.00, 6*Feet, 35*Feet> ; // mobile view #declare Camera_Look_At = < 0.00, 6*Feet, 25*Feet> ; #declare Camera_Angle = 65 ; #break #else #declare Camera_Position = < 0.00, 1.00,-20.00> ; // front view #declare Camera_Look_At = < 0.00, 1.00, 0.00> ; #declare Camera_Angle = 65 ; #break #end // end of switch ( Camera_Number ) // ##################################### camera { #if (Camera_Orthographic = true) orthographic right image_width/(2*Fraction) up image_height/(2*Fraction) #end location Camera_Position look_at Camera_Look_At} // ##################################### light_source {<40*Feet, 20*Feet, -100*Feet> color rgb <1, 1, 1>*0.8} /* sky_sphere {pigment {gradient <0, 1, 0> color_map {[0 color rgb <1, 1, 1> ] // White [0.4 color rgb <0.14, 0.14, 0.56>] //~Navy [0.6 color rgb <0.14, 0.14, 0.56>] //~Navy [1.0 color rgb <1, 1, 1> ] // White } scale 2 } } // end of sky_sphere */ #end // end SDL check //################################################################################################### // ######################################## // VARIABLES // ######################################## // ######################################## // Textures // ######################################## // ######################################## // OBJECTS // ######################################## //################################################################################################### // Render include file scene //################################################################################################### #ifndef (SDL) #debug "Variable SDL not defined, rendering include file scene definition \n" #declare LineWidth = 0.2; #declare LineColor1 = <0, 0, 0.2>; #declare LineColor2 = <0.5, 0.0, 0.0>; #declare Grid = 30*Feet; #declare Plane = 12; plane {z, Plane pigment {Blue*0.4} } #for (X, 0, Grid) cylinder {< X, -Grid, Plane> < X, Grid, Plane> LineWidth/2 pigment {rgb LineColor1} } cylinder {<-X, -Grid, Plane> <-X, Grid, Plane> LineWidth/2 pigment {rgb LineColor1} } #if (X/12 = int(X/12)) cylinder {< X, -Grid, Plane> < X, Grid, Plane> LineWidth pigment {rgb LineColor2} } cylinder {<-X, -Grid, Plane> <-X, Grid, Plane> LineWidth pigment {rgb LineColor2} } #end #end #for (Y, 0, Grid) cylinder {<-Grid, Y, Plane> LineWidth/2 pigment {rgb LineColor1} } cylinder {<-Grid, -Y, Plane> LineWidth/2 pigment {rgb LineColor1} } #if (Y/12 = int(Y/12)) cylinder {<-Grid, Y, Plane> LineWidth pigment {rgb LineColor2} } cylinder {<-Grid, -Y, Plane> LineWidth pigment {rgb LineColor2} } #end #end //object {My_Object scale <1, 1, 1> rotate -y*45 translate x*12} sphere {<0, 0, 0> 6 pigment {White} } //################################################################################################### #else // do nothing #end