// ==== Standard POV-Ray Includes ==== #include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions #include "functions.inc" // internal functions usable in user defined functions// create a sphere shape #include "../include/textures.inc" // perspective (default) camera camera { location <0.0, 2.0, -5.0> look_at <0.0, 0.0, 0.0> right x*image_width/image_height } global_settings{ assumed_gamma 1.3 radiosity{ pretrace_start 1 pretrace_end 1 count 400 error_bound 0.05 nearest_count 1 // CHANGE - range from 1 to 3 - should correspond with pretrace_end recursion_limit 1 // CHANGE low_error_factor 1 // leave this gray_threshold 0 // leave this minimum_reuse 0.015 // leave this brightness 1 // leave this adc_bailout 0.01/2 // CHANGE - use adc_bailo } /* photons { spacing 0.01 // specify the density of photons //count 100000 // alternatively use a total number of photons //gather min, max // amount of photons gathered during render [20, 100] //media max_steps [,factor] // media photons //jitter 1.0 // jitter phor photon rays //max_trace_level 5 // optional separate max_trace_level //adc_bailout 1/255 // see global adc_bailout //save_file "filename" // save photons to file //load_file "filename" // load photons from file //autostop 0 // photon autostop option //radius 10 // manually specified search radius // (---Adaptive Search Radius---) //steps 1 //expand_thresholds 0.2, 40 } */ } background { color White } //background { color Black } // An area light (creates soft shadows) // WARNING: This special light can significantly slow down rendering times! /* 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 } */ light_source { <-2000, 1000, -2000> color White } /* sphere { <0, 0, 0> // center of sphere 1 // radius of sphere // scale <1,2,1> // <= Note: Spheres can become ellipses by uneven scaling texture { Aluminum2 } } */ #declare Triangle=union { triangle { <-1,0,1>,<0,1,0>,<1,0,1> } triangle { <1,0,1>,<0,1,0>,<1,0,-1> } triangle { <-1,0,-1>,<0,1,0>,<1,0,-1> } triangle { <-1,0,1>,<0,1,0>,<-1,0,-1> } scale .5 } #macro TriRing(start_y, end_y, step_y) union { #local step_ang = 6; #local pos_y = start_y; #while (pos_y <= end_y) #local ang = 0; #while (ang < 360) object { Triangle scale .125 rotate<-90,0,0> translate<0,pos_y,-1> rotate<0,ang,0> } #local ang = ang + step_ang; #end #local pos_y = pos_y + step_y; #end } #end #declare BoltTop=union { cylinder { <0,-.3125,0>,<0,.3125,0>,1 } cylinder { <0,.3125,0>,<0,.4375,0>,1.0625 } cylinder { <0,-.3125,0>,<0,-.4375,0>,1.0625 } difference { union { torus { .8125,.25 } cylinder { <0,-.25,0>,<0,.25,0>,.8125 } } box { <-10,-10,-10>,<10,0,10> } cylinder { <0,-.125,.5>,<0,1,.5>,.16 } cylinder { <0,-.125,-.5>,<0,1,-.5>,.16 } cylinder { <-.4,-.125,0>,<-.4,1,0>,.16 } cylinder { <.4,-.125,0>,<.4,1,0>,.16 } cylinder { <0,-.125,0>,<0,1,0>,.32 } box { <-.16,-.125,.5>,<.16,1,-.5> } box { <-.4,-.125,-.16>,<.4,1,.16> } sphere { <0,.41,.5>,.26 } sphere { <0,.41,-.5>,.26 } sphere { <-.4,.41,0>,.26 } sphere { <.4,.41,0>,.26 } sphere { <0,.41,0>,.42 } cylinder { <0,.41,.5>,<0,.41,-.5>,.26 } cylinder { <-.4,.41,0>,<.4,.41,0>,.26 } translate<0,.4375,0> } cylinder { <0,-.4375,0>,<0,-.5,0>,1 } TriRing(-.25, .25, .125) texture { Aluminum2 } } object { BoltTop rotate <0, 10, 0> rotate <-15 ,0 ,0> } // An infinite planar surface // plane {, D } where: A*x + B*y + C*z = D plane { y, // unit surface normal, vector points "away from surface" -1.0 // distance from the origin in the direction of the surface normal hollow on // has an inside pigment? texture { pigment { color White } } }