//-w244 -h183 //-w610 -h457 //-w1220 -h915 //-w2440 -h1830 +a0.1 // +a0.1 // +w244 +h183 // +w2048 +h1536 // +a0.1 +w2048 +h1536 ///////////////////////////// Final Render /////// // +a0.1 +w1220 +h915 // +a0.1 +w1708 +h1281 // +a0.1 +w2440 +h1830 // // +a0.1 // // for hdr add: // +fh // +fh +a0.1 +w1220 +h915 // +fh +a0.1 +w1708 +h1281 // +fh +a0.1 +w2440 +h1830 ///////////////////////////// // PoVRay 3.7 Scene File " ... .pov" // author: ... // date: ... //-------------------------------------------------------------------------- #version 3.7; //#declare Clock=clock; #declare Clock=2; //0=scene; 2=dripscene //-------------------------------------------------------------------------- // sun --------------------------------------------------------------------- //light_source{<-1500,2500,-2500> color White} // sky --------------------------------------------------------------------- #if(Clock=2) sky_sphere { pigment { gradient <0,1,0> color_map { [0.00 rgb <1.0,1.0,1.0>] [0.30 rgb <0.0,0.1,1.0>] [0.70 rgb <0.0,0.1,1.0>] [1.00 rgb <1.0,1.0,1.0>] } scale 2 } // end of pigment } //end of skysphere // fog --------------------------------------------------------------------- // fog on the ground ------------------------------------------------- fog { fog_type 2 distance 150 color rgb 1 fog_offset 1 fog_alt .5 turbulence 1.8 } // ground ------------------------------------------------------------------ #declare NormScale=.03; plane{ <0,1,0>, 0 texture{ pigment{ color rgb 1} normal { // average pattern averaging several pigments // can also be used for texture_map, density_map, or normal_map // pigment { average normal_map { [1 quilted 2 control0 -1 control1 1 warp{turbulence .1} scale NormScale warp{turbulence .1} ] // weighting 1.0 [1 gradient z 2 warp{turbulence .3} scale NormScale slope_map{[0 <-1,1> ][.4 <1,0>][.6 <1,0>][1 <-1,-1>]}] // weighting 1 [1 leopard 20 rotate x*90 warp{turbulence 1} scale .2*NormScale warp{turbulence 1}slope_map{[0 <-1,1> ][.8 <1,0>]} ] } // } } finish { phong 1 specular 1 roughness .1} } // end of texture } // end of plane #end // Clock=2 //-------------------------------------------------------------------------- //---------------------------- objects in scene ---------------------------- //-------------------------------------------------------------------------- //#version 3.7; global_settings { //This setting is for alpha transparency to work properly. //Increase by a small amount if transparent areas appear dark. max_trace_level 15 assumed_gamma 1 } #include "colors.inc" #include "wall.inc" #include "functions.inc" #include "Building.inc" #include "Transforms.inc" //#include"Grass.inc" //#include"Weed.inc" //#include"TarSlab.inc" ////Final Camera/////////// /* camera { // location <-4.5, 1.5, .5> right x*image_width/image_height look_at <0,1.5,1.3> } */ #declare SceneRot=90; //#declare CamPos= <-4.5, 1.5, .5>; //#declare CamLook= <0,1.5,1.3>; #declare CamPos= <0.5, 1.5,4.5 >; #declare CamLook= <1.3,1.5,0>; #declare CamDirect=<0,0,1>; #declare CamWidth=image_width; #declare CamHeight=image_height; #declare CamColours=plane {z,CamDirect.z texture { pigment { image_map { png "ArtistsMap2.png" }//once } translate -0.5*(x+y) scale *2 } finish { ambient 1 diffuse 1} } translate CamDirect Reorient_Trans(z, (CamLook-CamPos)) translate CamPos } #declare CamColours=intersection{ plane {-z,CamDirect.z } box{<-CamWidth/CamHeight,-1,CamDirect.z>,} texture { pigment { image_map { png "ArtistsMap2.png" }//once } translate -0.5*(x+y) scale *2 } finish { ambient 1 diffuse 1} } translate CamDirect Reorient_Trans(z, (CamLook-CamPos)) translate CamPos } #declare ColMapPig=pigment { image_map { png "ArtistsMap2.png" // file_gamma 1.8 // new in 3.7 // interpolate 2 // smooth it // once // don't tile image, just one copy } // transform it to unit-size (-1 to +1) translate -0.5*(x+y) // center on the origin scale *2 //translate z //Reorient_Trans(Axis1, Axis2) //Reorient_Trans(z, (CamLook-CamPos)) //translate CamDirect //Reorient_Trans(z, (CamLook-CamPos)) //translate CamPos //scale < 1, 1, 1> //rotate< 0,0,-15> rotate<0,-25,0> //translate<2,0.0,0> } // end of plane ------------------------------------------ #declare CamColours=//intersection{ //plane {-z,CamDirect.z } box{<-CamWidth/CamHeight,-1,CamDirect.z>,//} texture { pigment {ColMapPig} finish { ambient 1 diffuse 1} } translate CamDirect Reorient_Trans(z, (CamLook-CamPos)) translate CamPos } #declare ColMap="ArtistsMap2.png" #declare Rand=seed(197531); #declare ShowRad=off; #declare ShowMedia=off; #declare BrickQual=0; //0-5 #declare AreaLight=off; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; #declare FocalBlur=off; #declare ShowBlock=off; #declare AlleyStuff=off; #declare ShowGrass=off; #declare ShowRoof=on; #declare BlurFinish=off; #declare ShowOilDrum=off; #declare ShowNeon=off; #declare NeonGlow=off; #declare NeonInteract=off; // lights up media #declare FireInteract=off; // lights up media #declare ShowSpotLight=off; #declare SpotAttenuate=off; // fades through media #declare ShowBassist=on; #declare ShowSaxPlayer=on; #declare ShowLights=off; #declare AreaSpot=off; #declare LightGroups=on; #declare MoonLight=0;//.1;// moon brightness #declare Modelling=off; #if(Clock=1) #declare ShowRad=off; #declare ShowMedia=off; #declare BrickQual=0; //0-5 #declare AreaLight=off; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; #declare FocalBlur=off; #declare ShowBlock=off; #declare AlleyStuff=on; #declare ShowGrass=off; #declare ShowRoof=on; #declare BlurFinish=off; #declare ShowOilDrum=on; #declare ShowNeon=on; #declare NeonGlow=off; #declare NeonInteract=off; // lights up media #declare FireInteract=off; // lights up media #declare ShowSpotLight=off; #declare SpotAttenuate=off; // fades through media #declare ShowBassist=on; #declare ShowSaxPlayer=on; #declare ShowLights=off; #declare AreaSpot=off; #declare LightGroups=off; #declare MoonLight=0 ; //.1;// moon brightness #declare Modelling=off; #elseif(Clock=2) #declare ShowRad=off; #declare ShowMedia=off; #declare BrickQual=0; //0-5 #declare AreaLight=off; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; #declare FocalBlur=off; #declare ShowBlock=off; #declare AlleyStuff=on; #declare ShowGrass=off; #declare ShowRoof=on; #declare BlurFinish=off; #declare ShowOilDrum=on; #declare ShowNeon=on; #declare NeonGlow=off; #declare NeonInteract=off; // lights up media #declare FireInteract=off; // lights up media #declare ShowSpotLight=off; #declare SpotAttenuate=off; // fades through media #declare ShowBassist=on; #declare ShowSaxPlayer=on; #declare ShowLights=on; #declare AreaSpot=off; #declare LightGroups=off; #declare MoonLight=1;// moon brightness #declare Modelling=off; #declare Map= plane { z, -1 texture { pigment { image_map { png "ArtistsMap2.png" // file_gamma 1.8 // new in 3.7 interpolate 2 // smooth it //once // don't tile image, just one copy } // transform it to unit-size (-1 to +1) translate -0.5*(x+y) // center on the origin //scale 2 // make it unit-sized } finish { ambient 1} } } #end #if(Modelling) #declare ShowRad=off; #declare ShowMedia=off; #declare ShowBlock=on; #declare BrickQual=0; //0-5 #declare AreaLight=off; #declare ShowWater=off; #declare FocalBlur=off; #declare BlurFinish=off; #declare NeonGlow=off; #declare NeonInteract=off; // lights up media #declare FireInteract=off; // lights up media #declare SpotAttenuate=off; // fades through media #declare AreaSpot=off; #declare NeonInteract=off; // lights up media #declare FireInteract=off; // lights up media #declare SpotAttenuate=off; #declare LightGroups=off; #end #declare FinalRender=0 ; //2; // 0; // 1; // 2 ;// 3; // #switch (FinalRender) #case (1) // No Media #declare ShowRad=on; #declare ShowMedia=off; #declare BrickQual=5; //0-5 #declare AreaLight=on; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; #declare FocalBlur=off; #declare ShowBlock=on; #declare AlleyStuff=on; #declare ShowGrass=off; #declare Modelling=off; #break #case (2)//Media #declare ShowRad=on; #declare ShowMedia=on; #declare BrickQual=5; //0-5 #declare AreaLight=on; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; #declare FocalBlur=off; #declare ShowBlock=off; #declare AlleyStuff=on; #declare ShowGrass=off; #declare Modelling=off; #break #case (3)//Focal Blur #declare ShowRad=on; #declare ShowMedia=on; #declare BrickQual=5; //0-5 #declare AreaLight=on; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=off; //#declare FocalBlur=on; #declare ShowBlock=off; #declare AlleyStuff=on; //#declare ShowGrass=off; #declare Modelling=off; #break #case (4)//Media interaction lights #declare ShowRad=on; #declare ShowMedia=on; #declare BrickQual=5; //0-5 #declare AreaLight=on; #declare ShowFlower=off; #declare ShowTar=on; #declare ShowWater=on; #declare FocalBlur=off; #declare ShowBlock=off; #declare AlleyStuff=on; #declare ShowGrass=off; #declare Modelling=off; #declare NeonInteract=on; // lights up media #declare FireInteract=on; // lights up media #declare SpotAttenuate=on; // fades through media #break #end #if (Clock=1) #default{ finish{ ambient 1 diffuse 1 }} #end // radiosity (global illumination) settings global_settings { assumed_gamma 1.0 //max_trace_level 100 #if(!ShowRad) ambient_light .001*<.8,.9,1> #else ambient_light 0 //.15*<.8,.9,1> #end #if (Clock=1) ambient_light 1 #end } #if(ShowRad) //===================== RADIANCE AND ENVIRONMENT SETTINGS ===================== #declare Rad_Quality =6; // 1; // #if (Clock=1) #declare Rad_Quality =0; #elseif (Clock=2) #declare Rad_Quality =0; #end global_settings { // conditionally comply with gamma correction handling assumed_gamma 1.0 #switch (Rad_Quality) #case (0) // } #break #case (1) radiosity { // --- Settings 0 (fast) --- recursion_limit 2 //#if(AreaLight) brightness.3 #end //always_sample off adc_bailout 0.1 normal on //media on } #break #case (2) radiosity { // --- Settings 1 (fast) --- pretrace_start 0.08 pretrace_end 0.02 count 50 error_bound 0.5 recursion_limit 2 //#if(AreaLight) brightness.3 #end //always_sample off //adc_bailout 0.5 } #break #case (3) radiosity { // --- Settings 2 (medium quality) --- pretrace_start 0.08 pretrace_end 0.01 count 120 error_bound 0.25 recursion_limit 2 //#if(AreaLight) brightness.3 #end //always_sample off //adc_bailout 0.5 normal on } #break #case (4) radiosity { // --- Settings 3 (high quality) --- pretrace_start 0.08 pretrace_end 0.005 count 400 error_bound 0.1 recursion_limit 1 //always_sample off //adc_bailout 0.5 normal on brightness.3 } #break #case (5) radiosity { // --- Settings 4 (high quality, recursion_limit 2) --- pretrace_start 0.08 pretrace_end 0.005 count 400 error_bound 0.1 recursion_limit 2 ///always_sample off //adc_bailout 0.5 normal on brightness.3 } #break #case (6) // radiosity (global illumination) settings radiosity { //pretrace_start 0.08 // start pretrace at this size //pretrace_end 0.04 // end pretrace at this size count 160// 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 2 //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 .3 // brightness of radiosity effects (0..1) [1] //adc_bailout 0.001 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 [off] //max_sample 1.0 // maximum brightness of samples } #break #end } //#default {texture {finish{ambient 0 diffuse .3} }} #end // Show Radiosity // ---------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ********************************************************************************************************************************* // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #declare BuskScene=union{ ////////////////////////// plane { y, -1 pigment{ //rgb <.1,.03,.01> crackle scale 2 warp{turbulence <1,0,.1>} pigment_map {[0 crackle scale .1 colour_map{[0 rgb <.05,.08,.1>*.001][1 rgb<.05,.07,.05>*.02] } ] [.5 crackle scale .01 colour_map{[0 rgb <.05,.08,.1>*.002][1 rgb <.05,.08,.1>*.03]}]} } normal{crackle scale .02 } finish{roughness .1 specular .5} } //////////////////////// #macro PlaceStuff(CoOrds) #local f_Trash_Distro= function{ pigment{ image_map{png "Tar2HFMap.png"} rotate x*90 // lay X-Y image map down onto X-Z height field plane scale <30,.2,2> scale AsphTarScale translate AsphTarTrans //scale <1,6,-1> //translate<-1.88,-.1,-.1> } } ; //#declare CoOrd=CoOrds; //#while(f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray<.5) #declare CoOrd= trace(AsphaltTarmac,,-y) ; //#end //#declare hf_GrassHeight=f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray; CoOrd #end // PlaceStuff(CoOrds) ////// Alley ///////////////// ///////////////////////////////////////// #if (ShowWater) box {<-3,0,0>,<37,.11,-3> // water pigment{ rgbft <.02,.007,.006, .5,.5>} normal{dents .1 scale.1} finish{ambient 0 diffuse 0 reflection{0,.1 fresnel on}conserve_energy } interior{ior 1.3 fade_colour <.15,.07,.06>*.7 fade_distance .005} no_reflection } #end //////////////////////////////////////////////////////////////////////////////// #declare AsphTarScale=<1,5,-1>; #declare AsphTarTrans=<-1.82,-.1,0>; //<-.8,.03,-.02>; // <-.78,.1,-.15>; // <-.6,.1,-2.15>; // <-.6,-.1,-2.15>; // <-1.5,0,-2.15>; // #if (ShowTar) //#include"Tar.inc" #include "RoadHF.inc" //"RoadHF6.inc" // "RoadHF4.inc" // "RoadHF2.inc" // "RoadHF3.inc" // "RoadHF.inc" // "RoadHF5.inc" // object{AsphaltTarmac //clipped_by{plane{x,25}} //translate x*-2 } /////////////////////////// box{<22,0,-10>,<35,.19,10> texture{crackle scale.02 texture_map{ [.1 pigment { // tar image_map { hdr "hdr_env.hdr" map_type 0 interpolate 2 } //rotate x*90 // lay X-Y image map down onto X-Z height field plane // translate y*.5 } normal{agate .2 } finish{ roughness .1 diffuse .1 brilliance 4} ] [.5 pigment { // stones image_map { hdr "hdr_env.hdr" map_type 0 interpolate 2 } //rotate x*90 // lay X-Y image map down onto X-Z height field plane //translate y*.5 } normal{crackle 2} finish{ roughness .01 diffuse .3 brilliance 4} ] } } } #end // ShowTar ///////////////////////////////////////////// #declare IronTex=texture{ pigment{agate scale y*3 pigment_map{[.1 rgb<.01,.009,.003>*.5][.2 granite scale y/3 pigment_map {[0 rgb<.1,.01,.001>*.5][1 rgb<.1,.01,.001>*.3]}]}} normal{agate scale y*3 normal_map{[.1 granite 2 scale y/3 ][.2 agate]}} finish{roughness .1 diffuse .1} } //union{BrickWall(3,2) translate -x } #declare WalDoor=BrickDoor(BrickQual,1); #declare WalWindow=BrickWindow(BrickQual,1); #declare WalDoor1=BrickDoor(BrickQual,0); #declare WalWindow1=BrickWindow(BrickQual,1.25); #if(BrickQual>4) #declare Lo125m=object{BrickWall(2,1.25,3,1,0,1)} #declare Lo15m=object{BrickWall(2,1.5,3,1,0,1)} #declare LoWindow=BrickWindow(2,1.25); #declare xLo125m=object{BrickWall(2,1.25,3,1,0,1)} #declare xLo15m=object{BrickWall(2,1.5,3,1,0,1)} #declare xLoWindow=BrickWindow(2,1.25); //#declare Wal0=object{BrickWall(4,10,3,1,0,1) } //#declare Wal1=object{BrickWall(BrickQual,10,3,1,0,1) } #declare Wal2=//object{BrickWall(2,10,3,1,0,1) } union{ object{Lo15m translate x*8.525} object{LoWindow translate x*7.625} object{Lo125m translate x*6.475} object{LoWindow translate x*5.575} object{Lo125m translate x*4.425} object{LoWindow translate x*3.525} object{Lo125m translate x*2.375} object{LoWindow translate x*1.475} object{Lo15m } } #declare Wal3=//object{BrickWall(0,10,3,1,0,1) } union{ object{xLo15m translate x*8.525} object{xLoWindow translate x*7.625} object{xLo125m translate x*6.475} object{xLoWindow translate x*5.575} object{xLo125m translate x*4.425} object{xLoWindow translate x*3.525} object{xLo125m translate x*2.375} object{xLoWindow translate x*1.475} object{xLo15m } } #declare Wal1m=object{BrickWall(BrickQual,1,3,1,0,1)} #declare Wal5m=object{BrickWall(BrickQual,5,3,1,0,1)} #else #declare Lo125m=object{BrickWall((BrickQual>0),1.25,3,1,0,1)} #declare Lo15m=object{BrickWall((BrickQual>0),1.6 ,3,1,0,1)} #declare LoWindow=BrickWindow((BrickQual>0),1.25); #declare xLo125m=object{BrickWall(0,1.25,3,1,0,1)} #declare xLo15m=object{BrickWall(0,1.5,3,1,0,1)} #declare xLoWindow=BrickWindow(0,1.25); //#declare Wal0=object{BrickWall(BrickQual,10,3,1,0,1) } //#declare Wal1=object{BrickWall(BrickQual,10,3,1,0,1) } #declare Wal2=//object{BrickWall(0,10,3,1,0,1) } union{ object{Lo15m translate x*8.525} object{Lo15m translate x*7.625} object{Lo125m translate x*6.475} object{Lo15m translate x*5.575} object{Lo125m translate x*4.425} object{Lo15m translate x*3.525} object{Lo125m translate x*2.375} object{Lo15m translate x*1.475} object{Lo15m } } #declare Wal3=//object{BrickWall(0,10,3,1,0,1) } union{ object{xLo15m translate x*8.525} object{xLo125m translate x*7.625} object{xLo125m translate x*6.475} object{xLo125m translate x*5.575} object{xLo125m translate x*4.425} object{xLo125m translate x*3.525} object{xLo125m translate x*2.375} object{xLo125m translate x*1.475} object{xLo15m } } #declare Wal1m=object{BrickWall(BrickQual,1,3,1,0,1)} #declare Wal5m=object{BrickWall(BrickQual,5,3,1,0,1)} #end #declare theWall=union{ //object{ //Wal5m translate x*5} object{Wal1m translate x*9.05} object{WalWindow translate x*8.15}// WalWindow1 object{Wal1m translate x*7.25} object{WalWindow translate x*6.55} // WalDoor object{Wal1m translate x*5.65} object{WalWindow translate x*4.75} object{Wal1m translate x*3.85} object{WalWindow translate x*2.95} object{BrickWall(BrickQual,3.05,3,1,0,1) } } #declare theWall1=union{ object{Wal1m translate x*9.05} object{Wal1m translate x*8.15} object{Wal1m translate x*7.25} object{Wal1m translate x*6.55} // WalDoor1 object{Wal1m translate x*5.65} object{Wal1m translate x*4.75} object{Wal1m translate x*3.85} object{Wal1m translate x*2.95} object{BrickWall(BrickQual,3.05,3,1,0,1) } } //#declare Wal= union{//BrickWall(BrickQual,30,6,1,0) //object{Wal0} object{Wal3 rotate y*90 translate z*10} object{Wal3} object{Wal3 translate x*10} //object{Wal1 translate x*20} object{Wal3 translate y*3} object{Wal3 translate <10,3,0>} //object{Wal1 translate <20,2,0>} rotate y*180 translate <20,0,-2> } //; //object {Wal} //object{Wal rotate y*180 translate <20,0,-2> } union{//BrickWall(BrickQual,30,6,1,0) //object{Wal0} object{theWall rotate y*90 translate z*10.02} object{theWall1} object{Wal2 translate x*10} //object{Wal1 translate x*20} object{Wal2 translate y*3} object{Wal3 translate <10,3,0>} //object{Wal1 translate <20,2,0>} } object{Wal2 rotate y*90 translate <0,3,10.1 >} //union{BrickWall(1,10,3,1,0) rotate y*90 translate <0,3,10 > } object{BrickWall(0,10,6,1,0,1) rotate y*90 translate <20,0,10 > } //union{BrickWall(0,30,18,1,0) rotate y*180 translate <30,0,-3> } #declare Slab1=ConcreteSlab((BrickQual>0),20.1,.25,10.1) object{Slab1 translate <-.05,3,-.01-.05>} object{Slab1 translate <-.05,3,-12-.05>} object{Slab1 translate <-.05,6,-.01-.05>} object{Slab1 translate <-.05,6,-12-.05>} #declare Slab2=ConcreteSlab((BrickQual>0)*2,20.1,.25,10.1) object{Slab2 translate <-.05,0,-.01-.05> finish{diffuse .1}} object{Slab2 translate <-.05,0,-11.99-.05> finish{diffuse .1} } object{SideWalk(<30,.3,10>,<0,0>,<0,0>,0) translate <-2,.2,0> } object{SideWalk(<30,.3,10>,<0,0>,<0,0>,0) translate <-2,.2,-12> } // Interior box{0,1 texture { pigment { image_map { jpeg "BLues (28) copy.jpg" // file_gamma 1.8 // new in 3.7 interpolate 2 // smooth it // once // don't tile image, just one copy //filter 0 0.8 // make 1st color mostly transparent //filter 1 0.8 // make 2nd color mostly transparent } // transform it to unit-size (-1 to +1) //translate -0.5*(x+y) // center on the origin //scale 2 // make it unit-sized } finish { ambient 1 diffuse 1 emission 1 } } scale <500,322,500>/500 rotate y*90 scale 3 translate <1,1,3> no_shadow } //sphere{0,1 pigment{rgb 10}translate <2,2,2>} // steps //object{SideWalk(<1,.3,1.2>,<0,0>,<0,0>,0) translate <-.2,.3,2.5> } //object{ConcreteSlab((BrickQual>0),.3,.2,1.2) translate <-.15,.25,2.5> } ////////////////////////////////////////////////////////////////////////// ////////////////// Alley Stuff ///////////////////////////////////////////// #macro PlaceTrash(CoOrds) #local f_Trash_Distro= function{ pigment{ image_map{png "Tar2HFMap.png"} rotate x*90 // lay X-Y image map down onto X-Z height field plane scale <30,.2,2> scale AsphTarScale translate AsphTarTrans //scale <1,6,-1> //translate<-1.88,-.1,-.1> } } ; //#declare CoOrd=CoOrds; //#while(f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray<.5) #declare CoOrd= trace(AsphaltTarmac,,-y) ; //#end //#declare hf_GrassHeight=f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray; CoOrd #end // PlaceTrash(CoOrds) #if(AlleyStuff) #declare IronTex1=texture{ pigment{agate scale <1/3,1,1/3> pigment_map{[.1 granite scale <.1,.1/3,.1> pigment_map {[0 rgb<.01,.009,.003>*.5][1 rgb .01]}] [.2 granite scale <.1,.1/3,.1> pigment_map {[.4 rgb <.03,.04,.05>][.6 rgb .02]}] [1 agate scale .1 pigment_map {[0 rgb <.03,.04,.05>*.1][1 rgb .02]}] } } normal{granite scale <1/3,1,1/3> normal_map{[.1 granite 2 scale y/3 ][.2 agate]}} finish{roughness .03 diffuse .1 brilliance .3 specular .2 metallic} } #declare Wire= sphere_sweep { //linear_spline // linear curve cubic_spline // alternative spline curves //b_spline 6, // number of specified sphere positions <0, 6, 0>, .015 // position, radius <0, 6, 0>, .015 // ... <0, 5.9, -.7>, .015 <0, 5.9, -1.3>, .015 <0, 6, -2>, .015 <0, 6, -2>, .015 //tolerance 0.001 // optional } object {Wire translate x*9} object{Wire translate x*5} #declare Gutter= union{ sphere_sweep {linear_spline 7 <0,6,-.04>,.04 <0,3.3,-.04>,.04 <0,3.2,-.06>,.04 <0,2.9,-.06>,.04 <0,2.8,-.04>,.04 <0,.3,-.04>,.04 <0,.2,-.3>,.04 //texture{IronTex1} // set clipping shape for parent object. // (parent shape will not extend beyond ClipShape bounds) clipped_by { box{<-.1,0,-.15>,<.1,6,0>} } } cylinder {0,<0,.02,0>,.044 translate <0,3.5,-.04>texture{IronTex1 translate rand(Rand)}} cylinder {0,<0,.02,0>,.044 translate <0,2.6,-.04>texture{IronTex1 translate rand(Rand)}} cylinder {0,<0,.02,0>,.044 translate <0,.4,-.04>texture{IronTex1 translate rand(Rand)}} } union{ object{Gutter translate x*2.8} object{Gutter translate x*10} object{Gutter translate x*20} object{Gutter scale -z translate <10,0,-2>} object{Gutter scale -z translate <20,0,-2>} texture{IronTex1} interior_texture{ pigment {rgb <.01,.005,0>*.3} normal{agate scale .01} } } ////////////Dustbins////////////////// #declare BinHandle= sphere_sweep { linear_spline // linear curve //cubic_spline // alternative spline curves //b_spline 6, // number of specified sphere positions <.285, .7, -.06>, .008 // position, radius <.29, .72, -.06>, .005 // ... <.34, .74, -.05>, .005 <.34, .74, .05>, .005 <.29, .72, .06>, .005 <.285, .7, .06>, .008 //tolerance 0.001 // optional //pigment {rgb .3} } #declare BinScale=5/6; #declare RibMax=20; #declare RibCount=0; #declare RibAngle=360/RibMax; #declare BinRibs=off; #declare DustBin= union{ difference{ cone {0*y,.25, .8*y, .3 } cone{.01*y,.2,.81*y,.29} #while(BinRibs*(RibCount,.05,<.35,.68,0>,.07 rotate y*RibTurn} #declare RibCount=RibCount+1; #end pigment{spherical scale <.5,.4,.5> translate y*.4 //rgb .01 pigment_map{ [0 agate scale <.3,.8,.5> rotate z*90 pigment_map{[0 rgb .1][1 rgb <.02,.015,.01>*4]}] [1 agate rotate z*90 pigment_map{[0 rgb .5][1 rgb <.5,.55,.6>*.3]}] } } normal{agate .1 scale 1.3} finish{brilliance 4 roughness .001 specular .3 phong .8 phong_size 150 reflection {0,.2} conserve_energy} } // create a curved tube object translating a sphere along a certain path object{BinHandle} object{BinHandle scale -x} #if(version>=3.7) no_radiosity #else no_reflection #end scale BinScale } #declare BinLid= union{ difference{ cylinder{0,.07*y,.31 } cylinder{-.01*y,.06*y,.305 } } torus { 0.3075,0.005 } torus { 0.305,0.005 translate y*.07 sturm} cone{.075*y,.305,.07*y,.25 open} cone{.07*y,.22,.08*y,.15 } // extrude a closed 2-D shape along an axis prism { linear_sweep // or conic_sweep for tapering to a point linear_spline // linear_spline | quadratic_spline | cubic_spline | bezier_spline -0.012, // height 1 0.012, // height 2 17, // number of points // (--- the points ---) <-.08,0>,<-.06,0> <-.062,.03>,<-.03,.031>,<.03,.029> ,<.058,.03> ,<.06,0>,<.08,0> , <.08,.003>,<.062,.003>,<.06,.033>,<.03,.032>, <-.03,.034> ,<-.064,.033>,<-.062,.003>,<-.08,.003> , <-.08,0> rotate x*-90 translate y*.08 //sturm } //pigment{rgb .01} pigment{spherical translate y*.5 scale .3//rgb .01 pigment_map{ [0 agate rotate z*90 pigment_map{[0 rgb .1][1 rgb <.02,.015,.01>]}] [1 agate rotate z*90 pigment_map{[0 rgb .5][1 rgb <.5, 0.55, 0.6>]}] } } normal{agate .3 rotate x*90} finish{brilliance 4 roughness .001 specular .3 phong .8 phong_size 150 reflection {0,.2} conserve_energy } scale BinScale #if(version>=3.7) no_radiosity #else no_reflection #end } union{ object{DustBin} object{BinLid rotate -20 rotate y*-80 translate <.1,.758*BinScale,.3>} rotate y*170 translate PlaceTrash(<1,1,-.25>) // } union{ object{DustBin} object{BinLid rotate 15 translate <0,.8*BinScale,.1>} translate PlaceTrash(<.1,1,-.95> ) // <8.3,.2,-1.75> } union{ object{DustBin rotate z*89 rotate y*200 translate y*.3*BinScale+ PlaceTrash(<-.3,1,-.35>)} //object{BinLid rotate z*15 translate <-.3,.5,-.35> }// <-.5,.2-.3,.7> //translate <9.5,.35,-1.9> rotate y } //////////////////////////////////// /// spotlights/// #declare SpotLight= union{ difference{ intersection{box{<-.08,-.06,-.02>,<.08,.06,.06>} box{<-.08,-.06,-.06>,<.08,.06,.06> rotate x*45} pigment{agate pigment_map{[.8 rgb .0001][1 rgb <.012,.008,.0001>*.5]}} //finish{brilliance 4 roughness .001} } cylinder{-x*.07,x*.07,.04 pigment{rgb .01} } } //cylinder{-x*.07,x*.07,.01 pigment{rgb 1}} //box{<-.079,-.059,-.019>,<.079,.059,-.015> pigment{rgbt 1} finish{brilliance 1}} rotate x*-30 //translate<6.5,3,-.05> } object {SpotLight translate<6.5,3,-.05>} object {SpotLight translate<15.5,3,-.05>} object {SpotLight scale -z translate<10,3,-2+.05>} object {SpotLight scale -z translate<19,3,-2+.05>} // fRONT sPOTLIGHT //object {SpotLight rotate y*-90 translate<0,3,-1>} ///////////// /// Butts/// ///////////////////////////////////////////////// //// cans//////////////// //////////////////////// #end // AlleyStuff ///////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////// #if(ShowGrass) #declare GroundHeight=0; #declare PatchMax=80;//200; // #declare BladeMax=20; #declare BladeHeight=.12; #declare PatchCount=0; #macro GrassGro(CoOrds,MinRange,MaxRange) #local f_Grass_Distro= function{ pigment{ image_map{png "Tar2HFMap.png"} rotate x*90 // lay X-Y image map down onto X-Z height field plane scale <30,.2,2> scale AsphTarScale translate AsphTarTrans //scale <1,6,-1> //translate<-1.88,-.1,-.1> } } #declare CoOrd=CoOrds; #while(f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray<.7) #declare CoOrd=MinRange+(MaxRange-MinRange)* ; #end #declare hf_GrassHeight=f_Grass_Distro(CoOrd.x,0,CoOrd.z).gray; CoOrd #end #while(PatchCount,-y)} #declare GrassPos=GrassGro(<10+10*rand(Rand),GroundHeight,-.3*rand(Rand)>,<10,GroundHeight,0>,<20,GroundHeight,-.5>) ; #declare GrassPos=GrassGro(<8*rand(Rand),GroundHeight,-.3*rand(Rand)>,<0,GroundHeight,0>,<6,GroundHeight,-.5>) ; object{Grass(BladeMax*rand(Rand),(BladeHeight/4) +(BladeHeight/2)*rand(Rand)) scale <1,hf_GrassHeight,1> rotate y*360*rand(Rand) translate trace(AsphaltTarmac,,-y) } //object{Grass(BladeMax,(BladeHeight/2) +(BladeHeight/2)*rand(Rand)) rotate y*180 translate trace(AsphaltTarmac,<20*rand(Rand),0,-1.98>,y)} //object{Grass(BladeMax*.7*rand(Rand),BladeHeight*.7*rand(Rand)) rotate x*90*rand(Rand) rotate y*180 translate <20*rand(Rand),.15,-2+.1*rand(Rand)>} #declare GrassPos=GrassGro(<8*rand(Rand),GroundHeight,-2+.3*rand(Rand)>,<0,GroundHeight,-2>,<3,GroundHeight,-1.6>); object{Grass(BladeMax*rand(Rand),(BladeHeight/4) +(BladeHeight/3)*rand(Rand)) scale <1,hf_GrassHeight,1> rotate y*360*rand(Rand) translate trace(AsphaltTarmac,,-y) } object{Grass(BladeMax*rand(Rand),BladeHeight*rand(Rand)) rotate x*90*rand(Rand) translate trace(AsphaltTarmac,<2*rand(Rand),1,-.1*rand(Rand)>,-y)} #declare PatchCount=PatchCount+1; #end #declare WeedMax=5; #declare WeedHeight=.1; #declare WeedCount=0; #while(WeedCount,<1,.2,-.05>,<3,GroundHeight,-.1>) ; object{Weed(7+5*rand(Rand)) scale .5*((WeedHeight*rand(Rand))+(hf_GrassHeight*rand(Rand))) rotate 10*y*360*rand(Rand) translate trace(AsphaltTarmac,,-y)} #declare WeedPos=GrassGro(<3+7*rand(Rand),GroundHeight,-2+.2*rand(Rand)>,<1,.2,-1.95>,<6,GroundHeight,-1.8>); object{Weed(7+4*rand(Rand)) scale .4*((WeedHeight*rand(Rand))+(hf_GrassHeight*rand(Rand))) rotate 10*y*360*rand(Rand) translate trace(AsphaltTarmac,,-y)} #declare WeedCount=WeedCount+1; #end #end // grass /////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////// #if(ShowBlock) #declare BlockSize=<100,.15,100>; #declare SideWalkSize=4; #declare AlleySize=2; #declare AlleyX=1; #declare AlleyZ=1; #declare BuildingCountX=3; #declare BuildingCountZ=4; #declare BuildingSizeX=(BlockSize-(AlleySize*AlleyX)-(SideWalkSize*2)); #declare BuildingSizeZ=(BlockSize-(AlleySize*AlleyZ)-(SideWalkSize*2)); union{BlockBuild (BlockSize, SideWalkSize, AlleySize) translate <-120,0,-37> } #else // box{<27,0,-10>,<28,50,10> pigment{rgb .1} } // White Building #end //box{<-37,0,-3>,<-5,50,-20> pigment{rgb .5} } // White Building ///////////////////////////////////////////////////////////////////////////////////// // Sunflower /////////////////////// * * * * * * * * * * * * * * * * * * * * * * * //cylinder{<.85,.15,-.2>,<.85,1.5,-.2> ,.1} #if(ShowFlower) #include"SunFlower.inc" object{SunFlower scale -x rotate y*90 translate PlaceStuff(<1.2,.12,-.8>) } //union{SunFlower() rotate y*15 translate <1,.15,-.2>} #end ////////////////////////////////////////////////////////////////////////// /////////////Tin ROof //////////////////////////// #if (ShowRoof) #include "TinRoof.inc" #include"Door.inc" #declare TinPig= pigment{cells scale .03 turbulence 1 pigment_map{[0 rgb .3][1 rgb .2]}}; #declare TinFin= finish{ phong 1 phong_size 200 specular .6 reflection {.1,1} brilliance 2}; #declare TinTex= texture { pigment{TinPig} normal{dents .1 scale.03} finish{TinFin} }; #declare BluTinPig=pigment{ rgb<0,.2,.6>} ; #declare BluTinFin=finish{phong 1 phong_size 200 specular .6 reflection {.1,.7 metallic} brilliance 2} ; #declare BluTinTex= texture { pigment{BluTinPig} normal{dents .1 scale.03} finish{BluTinFin} } ; #if (BlurFinish) #declare BlurAmount = 10; // Amount of blurring #declare BlurSamples = 5+(2*FinalRender); // How many rays to shoot #declare TinTex= texture { average texture_map { #declare Ind = 0; #declare S = seed(0); #while(Ind < BlurSamples) [1 // The pigment of the object: pigment {TinPig} // The surface finish: finish {TinFin} // This is the actual trick: normal { bumps BlurAmount translate *100 //scale 1000 } ] #declare Ind = Ind+1; #end } } #declare BlurAmount = 10; // Amount of blurring #declare BlurSamples = 5+(2*FinalRender); // How many rays to shoot #declare BluTinTex= texture { average texture_map { #declare Ind = 0; #declare S = seed(0); #while(Ind < BlurSamples) [1 // The pigment of the object: pigment {BluTinPig} // The surface finish: finish {BluTinFin} // This is the actual trick: normal { bumps BlurAmount translate *100 //scale 1000 } ] #declare Ind = Ind+1; #end } } #end #declare SizeX=1.3; #declare SizeY=2.5; #declare RibSize=.15; #declare RibDepth=.05; #declare PlateThickness=.01; //#declare ShackPos=<-1,0,2.5>; #declare Shack = //object{TinRoof(SizeX,SizeY, RibSize, RibDepth, PlateThickness) pigment{agate pigment_map{[0 rgb .5][1 rgb .4]}} normal{dents scale.1}finish{ brilliance 2 reflection {.1,.5}} } union{// shack//////////// difference{ object{TinRoof(1.1,3, RibSize, RibDepth, PlateThickness)// rhs wall translate <-1,0,2> } box{<-.75,1,1.8>,<-.25,1.8,2.2>} // window plane {z 0 rotate y*90 rotate z*-65 translate <-1.5,2.29,11.8>} texture{TinTex} } // window object{Windows} difference{ // front wall object{TinRoof(10,2.5, RibSize, RibDepth, PlateThickness) texture{TinTex} rotate y*90 translate <-1,0,12> } box{<-.05,-.1,0>,<.05,2,.786> translate <-1,0,2.5>} } // front door object{ Door(0) translate <-1,0,2.5+.393>} object{TinRoof(10,2.5, RibSize, RibDepth, PlateThickness) // roof texture{BluTinTex} rotate y*90 rotate z*-65 translate <-1.5,2.3,11.8> } translate <0,.27,1-.65> #if(version>=3.7) no_radiosity #else no_reflection #end }// Shack object{Shack} #end // Shack ///////////////////////Neons /////////////////////////// #if (ShowNeon) #include"BLueShack.inc" union{ // Side object{BlueNeon rotate z*20 translate <.5,1.2,0>} object{ShackNeon rotate z*20 translate x*-.1} scale .27 pigment {rgb <.1,.2,10>} finish{diffuse 1 ambient 1 emission 5} translate <-.9,1.9,2.95> +y*.27 -z*.65 no_shadow } // Side Neons union{ // front object{BlueNeon rotate z*10 translate <.5,.05,0>} object{ShackNeon rotate z*10 translate <3,.05,0>} scale .27 pigment {rgb <.1,.2,10>} finish{diffuse 1 ambient 1 emission 5} rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 no_shadow } // Front Neon #end // ShowNeon //////////////////////////////////// /// spotlights/// #if(ShowSpotLight) #declare SpotLight= //union{ //difference{ intersection{box{<-.085,-.06,-.02>,<.085,.06,.06> scale z*2 pigment{rgb <1.5,2,.3>*2}finish{emission <.4,.2,0>}} box{<-.07,-.06,-.06>,<.07,.06,.06> rotate x*45 scale z*2 } //pigment{rgb <1,1,.5>*50}// agate pigment_map{[.8 rgb .01][1 rgb <.012,.008,0.0001>]}} //finish{emission 1} //} //cylinder{-x*.06,x*.06,.05 scale z*1.2 pigment{rgb <1,.8,.3>*100} } // scale z*.8 rotate x*-45 no_radiosity // } //cylinder{-x*.06,x*.06,.01 pigment{rgb <1.2,1,.3>*100*(1+!AreaSpot)}no_shadow translate <0, .02, .04> finish{ambient 1 diffuse 1,1 emission 1} no_radiosity} //box{<-.079,-.059,-.019>,<.079,.059,-.015> pigment{rgbt 1} finish{brilliance 1}} //scale <1,2,1> rotate x*-30 //translate<6.5,3,-.05> } object {SpotLight rotate x*-30 rotate y*90 translate<-.09,3.7,1>} #end // spotlight ////////////////////////////// OilDrum //////////////////// #if (ShowOilDrum) #include "OilDrum.inc" object{OilDrum rotate y*30 rotate x*-5 translate y*.05 //translate <-.7,.1,-.9> translate PlaceTrash(<-.7,.1,-.9> ) } #end //rotate y*SceneRot /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }// end BuskScene union // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #declare Buskers=union{ ///////////////////////Bassist////////////////////////////// #if (ShowBassist) //#include "Bassist_C_POV_geom.inc" #include "FunkBassist_B2_POV_geom.inc" #declare BasScale=<-1,1,1>*2/90; //1/(abs ( (max_extent(Bassist_C_))- (min_extent(Bassist_C_)) )); object{FunkBassist_B2_ scale BasScale //rotate y*250 rotate y*-5 translate <.1,0,-.01> translate <-1.4,.24,.7> //<-1,.27,4>// } #end /////////////////////////Sax////////////////////////////////////// #if (ShowSaxPlayer) #include "SaxPlayer_C_POV_geom.inc" //Geometry #declare SaxScale=<-1,1,1>*2.2/90; //1/(abs ( (max_extent(Bassist_C_))- (min_extent(Bassist_C_)) )); object{SaxPlayer scale SaxScale rotate y*215 translate <-1.4,.25,1.9>+x*.1 } #end //rotate y*SceneRot } #declare Instruments=union{ ///////////////////////Bassist////////////////////////////// #if (ShowBassist) /* #include "Bassist_C_POV_geom.inc" //Assembled object that is contained in Bassist_C_POV_geom.inc //Bounding Box....... from x,y,z=(-24.3153,-0.569064,-16.6614) // to x,y,z=(26.3622,79.8577,29.2669) // size dx,dy,dz=(50.6775,80.42676,45.9283) // center x,y,z=(1.02345,39.64432,6.30275) // diagonal 105.575 #declare BasScale=<-1,1,1>*2/90; //1/(abs ( (max_extent(Bassist_C_))- (min_extent(Bassist_C_)) )); object{ContraBass scale BasScale rotate y*250 translate <-1.4,.24,.7> //<-1,.27,4>// } */ #include "ContraBass.inc" #declare BasScale=<-1,1,1>*2/90; //1/(abs ( (max_extent(Bassist_C_))- (min_extent(Bassist_C_)) )); object{ContraBass scale 1.13 //scale BasScale //rotate y*250 rotate <0,115,0>rotate x*-30 translate <-.4,.05,.35> translate <-1.4,.24,.7> //<-1,.27,4>// } #end /////////////////////////Sax////////////////////////////////////// #if (ShowSaxPlayer) #include "SaxPlayer_C_POV_geom.inc" //Geometry #declare SaxScale=<-1,1,1>*2.2/90; //1/(abs ( (max_extent(Bassist_C_))- (min_extent(Bassist_C_)) )); object{Saxophone scale SaxScale rotate y*215 translate <-1.4,.25,1.9> +x*.1 no_radiosity } #end //rotate y*SceneRot } ////////////////////////////////////////////////////////////////////////////////////// //////// ******************************LIGHTS********************************* //////////// #if(Clock<1) union{ #if(LightGroups) #if(AreaLight) light_group{object{BuskScene } object{Buskers no_image} object{Instruments no_image} #if(ShowNeon) light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <2.5, 0, 0> <0, 2, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <1.5, 1.5,0> // position of light area_illumination media_interaction off scale .27 translate <-.9,1.9,2.95> +y*.27 -z*.65 } light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <6, 0, 0> <0, 1, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 4 fade_power 10 translate <3,.5,0> // position of light area_illumination media_interaction off scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 } #end #if(ShowOilDrum) light_source { // top <0,0,0> // light's position (translated below) color rgb <1,.1,0> // light's color area_light <.5, 0, 0> <0, 0, .5> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <0, 1, 0> // position of light media_interaction off// FireInteract rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <1.2,1,.7>*2 // light's color spotlight // this kind of light source translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-.09,3.7,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate area_light <0, .01, 0> <0, 0, .05> // lights spread out across this distance (x * z) 2, 2 // 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 <0, .02, .04> // position of light media_attenuation off // SpotAttenuate media_interaction off } #end } #end // arealight group ///////////////////////////////////////////////// //////////////////////////////////////////////////// light_group{ // non area lights ////////////////////////////////////////////light //////////////////////////// #if(ShowMedia) //union{ object{BuskScene no_image} object{Buskers no_image} object{Instruments no_image} box{<-1000,-1,-1000>,<1000,100,1000>//-10000,10000 // } //object{BuskScene no_image no_reflection no_radiosity} pigment{colour rgbt 1} //finish{specular 0 phong 0 reflection 0} interior{// media { method 3 //adaptive sampling samples 50 //6 intervals 1 jitter 1// .1 //variance 1.0/500 scattering {4, rgb .3*.001 extinction 1}// <.1,.4,.6> density {gradient y scale 10001 translate -x*5 density_map{ [.0001 rgb 10][.001 rgb 0]}} //density{granite scale .3 } } } // translate y*-9500 hollow double_illuminate } #end #if(!AreaLight) object{BuskScene } object{Buskers } object{Instruments} #end light_source { // inside <0,0,0> // light's position (translated below) color rgb <.5,.35,.1> // light's color area_light <1, 0, 0> <0, 0, 4> // lights spread out across this distance (x * z) 2, 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 media_interaction off area_illumination translate <2,2,4> // position of light } #if(Modelling) light_source { // Modelling light <0, 0, 0> // light's position (translated below) color rgb 4 // 100 // 5//light's color translate <-90, 90, 30> // shadowless } light_source { 0*x // light's position (translated below) color rgb <.97,.98,.99>*2// *(1-.1*(ShowRad)) // light's color translate <-1, 20, -2> // position of light } #else #if(MoonLight) light_source { // moon <0, 0, 0> // light's position (translated below) color rgb <.99,.999,1>*MoonLight// *4// 6 //100 // light's color translate <-500, 700, 200> //media_attenuation on //media_interaction on } #end #end #if(ShowNeon) //// NeonGlow light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color fade_distance 2 fade_power 10 translate <1.5, 1.5,-.2> // position of light //area_illumination media_interaction NeonInteract scale .27 translate <-.9,1.9,2.95> +y*.27 -z*.65 } light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1>*2 // light's color fade_distance 2 fade_power 10 translate <3,.5,-.2> // position of light area_illumination media_interaction NeonInteract scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <1.2,1,.7>*20 // light's color spotlight // this kind of light source translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-.09,3.7,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate area_light <0, .01, 0> <0, 0, .05> // lights spread out across this distance (x * z) 2, 2 // 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 <0, .02, .04> // position of light media_attenuation off //SpotAttenuate media_interaction on } #end #if(ShowOilDrum) // create a regular point light source light_source { // top 0*x // light's position (translated below) color rgb <1,.1,0>*(2-(AreaLight)) // light's color // spotlight fade_distance 2 fade_power 10 translate <0, 1.2, 0> //point_at <0,4,0> //radius 170 // hotspot (inner, in degrees) //tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter //falloff 180 // intensity falloff radius (outer, in degrees) // media_attenuation media_interaction FireInteract // lights up media //media_attenuation on // fades through media rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) } #end // ---------------------------------------- } // light_group for non area_lights // ---------------------------------------- #else // LightGroups object{BuskScene } object{Buskers} object{Instruments} #if(AreaLight) //light_group{object{BuskScene } //object{Buskers no_image} #if(ShowNeon) light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <2.5, 0, 0> <0, 2, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <1.5, 1.5,0> // position of light area_illumination media_interaction off scale .27 translate <-.9,1.9,2.95> +y*.27 -z*.65 } light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <6, 0, 0> <0, 1, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 4 fade_power 10 translate <3,.5,0> // position of light area_illumination media_interaction off scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 } #end #if(ShowOilDrum) light_source { // top <0,0,0> // light's position (translated below) color rgb <1,.1,0> // light's color area_light <.5, 0, 0> <0, 0, .5> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <0, 1, 0> // position of light media_interaction off// FireInteract rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <1.2,1,.7>*2 // light's color spotlight // this kind of light source translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-.09,3.7,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate area_light <0, .01, 0> <0, 0, .05> // lights spread out across this distance (x * z) 2, 2 // 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 <0, .02, .04> // position of light media_attenuation off // SpotAttenuate media_interaction off } #end // } #end // arealights ///////////////////////////////////////////////// //////////////////////////////////////////////////// //light_group{ // non area lights ////////////////////////////////////////////light //////////////////////////// #if(ShowMedia) //union{ //object{BuskScene no_image} //object{Buskers no_image} box{<-1000,-1,-1000>,<1000,100,1000>//-10000,10000 // } //object{BuskScene no_image no_reflection no_radiosity} pigment{colour rgbt 1} //finish{specular 0 phong 0 reflection 0} interior{// media { method 3 //adaptive sampling samples 50 //6 intervals 1 jitter 1// .1 //variance 1.0/500 scattering {4, rgb .3*.001 extinction 1}// <.1,.4,.6> density {gradient y scale 10001 translate -x*5 density_map{ [.0001 rgb 10][.001 rgb 0]}} //density{granite scale .3 } } } // translate y*-9500 hollow double_illuminate } #end //#if(!AreaLight) //object{BuskScene } //object{Buskers } //#end light_source { // inside <0,0,0> // light's position (translated below) color rgb <.5,.35,.1> // light's color area_light <1, 0, 0> <0, 0, 4> // lights spread out across this distance (x * z) 2, 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 media_interaction off area_illumination translate <2,2,4> // position of light } #if(Modelling) light_source { // Modelling light <0, 0, 0> // light's position (translated below) color rgb 4 // 100 // 5//light's color translate <-90, 90, 30> // shadowless } light_source { 0*x // light's position (translated below) color rgb <.97,.98,.99>*2// *(1-.1*(ShowRad)) // light's color translate <-1, 20, -2> // position of light } #else #if(MoonLight) light_source { // moon <0, 0, 0> // light's position (translated below) color rgb <.99,.999,1>*MoonLight//.02// *4// 6 //100 // light's color translate <-500, 700, 200> //media_attenuation on //media_interaction on } #end #end #if(ShowNeon) //// NeonGlow light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color fade_distance 2 fade_power 10 translate <1.5, 1.5,-.2> // position of light //area_illumination media_interaction NeonInteract scale .27 translate <-.9,1.9,2.95> +y*.27 -z*.65 } light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1>*2 // light's color fade_distance 2 fade_power 10 translate <3,.5,-.2> // position of light area_illumination media_interaction NeonInteract scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <1.2,1,.7>*20 // light's color spotlight // this kind of light source translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-.09,3.7,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate area_light <0, .01, 0> <0, 0, .05> // lights spread out across this distance (x * z) 2, 2 // 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 <0, .02, .04> // position of light media_attenuation off //SpotAttenuate media_interaction on } #end #if(ShowOilDrum) // create a regular point light source light_source { // top 0*x // light's position (translated below) color rgb <1,.1,0>*(2-(AreaLight)) // light's color // spotlight fade_distance 2 fade_power 10 translate <0, 1.2, 0> //point_at <0,4,0> //radius 170 // hotspot (inner, in degrees) //tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter //falloff 180 // intensity falloff radius (outer, in degrees) // media_attenuation media_interaction FireInteract // lights up media //media_attenuation on // fades through media rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) } #end // ---------------------------------------- // } #end // rotate y*SceneRot } #end // if(Clock<1) #if (Clock=2) #declare Obj=//union{ object{BuskScene //} //object{Buskers} //object{Instruments } rotate y*SceneRot } /// • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• /// • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• //object{BuskScene } // object{Buskers} union{ #if(AreaLight) //light_group{object{BuskScene } //object{Buskers no_image} #if(ShowNeon) light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <2.5, 0, 0> <0, 2, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <1.5, 1.5,0> // position of light area_illumination media_interaction off scale .27 translate <-.9,1.9,2.95> +y*.27 -z // *.65 } light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color area_light <6, 0, 0> <0, 1, 0> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 4 fade_power 10 translate <3,.5,0> // position of light area_illumination media_interaction off scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 -x*.3 } #end #if(ShowOilDrum) light_source { // top <0,0,0> // light's position (translated below) color rgb <1,.1,0> // light's color area_light <1, 0, 0> <0, 0, 1> // lights spread out across this distance (x * z) 2, 2 // 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 fade_distance 3 fade_power 10 translate <0, 1, 0> // position of light media_interaction off// FireInteract rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) translate x*-.5 } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <1.2,1,.7>*2 // light's color spotlight // this kind of light source translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-.09,3.7,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate area_light <0, .01, 0> <0, 0, .05> // lights spread out across this distance (x * z) 2, 2 // 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 <0, .02, .04> // position of light media_attenuation off // SpotAttenuate media_interaction off translate x*-.3 } #end // } #end // arealights ///////////////////////////////////////////////// //////////////////////////////////////////////////// //light_group{ // non area lights ////////////////////////////////////////////light //////////////////////////// /* #if(ShowMedia) //union{ //object{BuskScene no_image} //object{Buskers no_image} box{<-1000,-1,-1000>,<1000,100,1000>//-10000,10000 // } //object{BuskScene no_image no_reflection no_radiosity} pigment{colour rgbt 1} //finish{specular 0 phong 0 reflection 0} interior{// media { method 3 //adaptive sampling samples 50 //6 intervals 1 jitter 1// .1 //variance 1.0/500 scattering {4, rgb .3*.001 extinction 1}// <.1,.4,.6> density {gradient y scale 10001 translate -x*5 density_map{ [.0001 rgb 10][.001 rgb 0]}} //density{granite scale .3 } } } // translate y*-9500 hollow double_illuminate } #end */ //#if(!AreaLight) //object{BuskScene } //object{Buskers } //#end light_source { // inside <0,0,0> // light's position (translated below) color rgb <.5,.35,.1> // light's color area_light <1, 0, 0> <0, 0, 4> // lights spread out across this distance (x * z) 2, 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 media_interaction off area_illumination translate <2,2,4> // position of light } #if(Modelling) light_source { // Modelling light <0, 0, 0> // light's position (translated below) color rgb 4 // 100 // 5//light's color translate <-90, 90, 30> // shadowless } light_source { 0*x // light's position (translated below) color rgb <.97,.98,.99>*2// *(1-.1*(ShowRad)) // light's color translate <-1, 20, -2> // position of light } #else #if(MoonLight) light_source { // moon <0, 0, 0> // light's position (translated below) color rgb <.99,.999,1>*MoonLight//.02// *4// 6 //100 // light's color translate <-500, 700, 200> //media_attenuation on //media_interaction on } #end #end #if(ShowNeon) //// NeonGlow /*light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color translate <1.5, 1.5,-.2> // position of light //area_illumination media_interaction NeonInteract scale .27 translate <-.9,1.9,2.95> +y*.27 -z// *.65 } */ light_source { <0,0,0> // light's position (translated below) color rgb <.01,.02,1> // light's color translate <3,.5,-.2> // position of light //area_illumination //media_interaction NeonInteract scale .27 rotate y*90 translate <-1.05,2,5>+y*.27 -z*.65 -x*.3 //parallel //point_at <-1.2, 0, 1> } #end #if(ShowSpotLight) light_source { <0,0,0> // light's position (translated below) color rgb <.9,.7,.1> // light's color spotlight // this kind of light source cylinder translate <-.04, -.02, 0> // position of light //rotate x*-30 //rotate y*90 translate<-1.2,4,1> point_at <-1.2, 0, 1> // direction of spotlight radius 25 // hotspot (inner, in degrees) tightness 0 // tightness of falloff (1...100) lower is softer, higher is tighter falloff 30 // intensity falloff radius (outer, in degrees) //media_attenuation SpotAttenuate translate -x*.3 } #end #if(ShowOilDrum) // create a regular point light source light_source { // top 0*x // light's position (translated below) color rgb <1,.1,0> // light's color rotate y*30 rotate x*-5 translate y*.05 translate PlaceTrash(<-.7,.1,-.9> ) translate <-.7,1,-.9>*.5 //parallel //point_at <-1.2, 2, 1> } #end // ---------------------------------------- // } //#end // rotate y*SceneRot } /// • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• /// • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• #include "math.inc" #include "transforms.inc" #declare Rnd= seed(7531); #include "math.inc" #include "transforms.inc" #declare Rand=seed(97531); //////////////////////////////////////////////////////////////////////////// /* // sphere test #declare Obj=sphere{0,1 scale <.2,.1,.2> translate y} #declare SplatPos=<0,3,0>; #declare SplatSize=<.06,.03,.06>; #declare Squiglyness=.1 ; #declare MisMax=200; #declare DripSize=<30,1000,30>; // length of drip for each vector #declare ScanAngle=-y; union{ blob{ PaintTop(Obj,SplatPos, SplatSize, DripSize, Squiglyness, MisMax, ScanAngle) } pigment{rgb<1,.2,.1>} finish{specular .5 phong 1 phong_size 200 roughness.01 brilliance 4} } object{Obj pigment{rgbft .5}} */ //////////////////////////////////////////////////////////////////////////// //////////========================================================================================////////////////////////////////////////////////////// #declare WriteFile=true; // turns on the generation of the stacks and write them to a file //#declare WriteFile=false; // turns off the generation of the file, just read them from the previous file // ------------------------------ #declare Seed=seed(97531); //#declare Obj=object{CamColours } #declare Object=Obj; //object{Obj pigment{rgb<.1,.03,0>} normal{crackle form <1,.8,0> scale.01 bump_size 10}finish{phong .1 phong_size 100 specular .01 roughness .1 ambient .3 }} #declare Material=material{texture{ pigment{rgb<0,1,1>} finish{specular .1 phong 1 phong_size 200 metallic .5 roughness.01 brilliance 2 reflection{0,1 metallic .5}} } }; // +a0.1 #declare Col=<1,.5,0>; #local ColVar=.2; #declare Finnish=finish{/*diffuse 1 ambient 1 emission 1*/ specular .1 phong 1 phong_size 200 metallic .5 roughness.01 brilliance 2 }; #declare Spacing=.1; #declare MaxDrops=75;//2000;// #declare MaxDrops=5000;-Nice for background at maxthickness .07// 100-few, 1000 Sparse at length 100, 2000 Sparse with direction <0,0,0> at length 100, 2000 Sparse with direction <0,0,0> at length 100 (1hr55min), 10000 Covered at length 100 #declare MinThickness=.007;//.007; .001 #declare MaxThickness=.4;//.09;//.01; .05 too thin , 0.9 too thick at 2000 #declare Merge=0; #declare MaxLength=100; // 20-100; #declare Squiglyness=1; // 0-1 + #declare ContainerStart=<0,0,0>;//max_extent(CamColours);// max_extent(Obj);// <-1,-1,1.1>*max_extent(Obj) -.5*x*y;//<0,0,0>; //<-1,.5,-1>; // add specific co-ordinates to trace within #declare ContainerEnd=<0,0,0>;//min_extent(CamColours); //min_extent(Obj); //max_extent(Obj) +.5*x*y; //<0,0,0>; //<1,.75,1>; // use <0,0,0> for both to ignore (default) #declare Threshold=2;//.1; //2; // 2= detail // .1= Bigger #declare Direction=<0,0,0>; // Wind/gravity: ; Random directions: <0,0,0> //#declare CamPos=<11 , 1.5 ,-11>; #declare ColSystem=0; // 0= colourize, 1 CMYK, 2=CMYbw, 3=CMYKrgbW . 4=CMYw , 5=CMY to original //#include "dripWriteBak.inc" #declare Brush=10; #include"PaintScene.inc" // #declare Obj=union{object{BuskScene } object{Buskers} rotate y*SceneRot } #declare Scenery=object{BuskScene rotate y*SceneRot} //#if(WriteFile) // #fopen dripFile "dripScene.inc" write // #write (dripFile) Drips (Scenery, ColMap, CamPos, CamLook, CamDirect, image_width, image_height, ColVar ,Finnish, Brush, Spacing, MaxDrops, MaxLength, MinThickness, MaxThickness, Merge, Seed, Squiglyness, ColSystem, Threshold, Direction,ContainerStart,ContainerEnd ) //Drips(CamPos, Obj, Col, ColVar ,Finnish, Spacing, MaxDrops, MaxLength, MinThickness, MaxThickness, Merge, Seed, Squiglyness, ColSystem, Threshold, Direction,ContainerStart,ContainerEnd ) ////////////////////================================================================================================================= /* */ #declare BuskArtists= object{Buskers rotate y*SceneRot } #declare Material=material{texture{ pigment{rgb<0,1,1>} finish{specular .1 phong 1 phong_size 200 roughness.01 brilliance 2 } } }; // +a0.1 #declare Col=<1,.5,0>; #local ColVar=1; #declare Finnish=finish{diffuse 1 specular .1 phong 1 phong_size 200 roughness.01 brilliance 2 }; #declare Spacing=.1; #declare MaxDrops=5000;//5000 good at MaxThickness=.1; 100-few, 1000 Sparse at length 100, 2000 Sparse with direction <0,0,0> at length 100, 2000 Sparse with direction <0,0,0> at length 100 (1hr55min), 10000 Covered at length 100 #declare MinThickness=.007;//.007; .001 #declare MaxThickness=.03;//.03;//.01; .05 #declare Merge=0; #declare MaxLength=100; // 20-100; #declare Squiglyness=1; // 0-1 + #declare ContainerStart=max_extent(BuskArtists);//<0,0,0>;//max_extent(CamColours);// max_extent(Obj);// <-1,-1,1.1>*max_extent(Obj) -.5*x*y;//<0,0,0>; //<-1,.5,-1>; // add specific co-ordinates to trace within #declare ContainerEnd=min_extent(BuskArtists);//<0,0,0>;//min_extent(CamColours); //min_extent(Obj); //max_extent(Obj) +.5*x*y; //<0,0,0>; //<1,.75,1>; // use <0,0,0> for both to ignore (default) #declare Threshold=2;//.1; //2; // 2= detail // .1= Bigger #declare Direction=<1,-1,0>; // Wind/gravity: ; Random directions: <0,0,0> //#declare CamPos=<11 , 1.5 ,-11>; #declare ColSystem=0; // 0= colourize, 1 CMYK, 2=CMYbw, 3=CMYKrgbW . 4=CMYw , 5=CMY to original //#include "dripWriteBak.inc" #declare Brush=10; Drips (BuskArtists, ColMap, CamPos, CamLook, CamDirect, image_width, image_height, ColVar ,Finnish, Brush, Spacing, MaxDrops, MaxLength, MinThickness, MaxThickness, Merge, Seed, Squiglyness, ColSystem, Threshold, Direction,ContainerStart,ContainerEnd ) /////////// #declare Sounders= object{Instruments rotate y*SceneRot } #declare Material=material{texture{ pigment{rgb<0,1,1>} finish{specular .3 phong 1 phong_size 200 roughness.001 brilliance 4 } } }; // +a0.1 #declare Col=<1,.5,0>; #local ColVar=.1; #declare Finnish=finish{diffuse 1 specular .1 phong 1 phong_size 200 roughness.01 brilliance 2 }; #declare Spacing=.1; #declare MaxDrops=4000;//5000;//5000 good at MaxThickness=.1; 100-few, 1000 Sparse at length 100, 2000 Sparse with direction <0,0,0> at length 100, 2000 Sparse with direction <0,0,0> at length 100 (1hr55min), 10000 Covered at length 100 #declare MinThickness=.007;//.007; .001 #declare MaxThickness=.03;//.03;//.01; .05 #declare Merge=0; #declare MaxLength=100; // 20-100; #declare Squiglyness=1; // 0-1 + #declare ContainerStart=max_extent(Instruments);//<0,0,0>;//max_extent(CamColours);// max_extent(Obj);// <-1,-1,1.1>*max_extent(Obj) -.5*x*y;//<0,0,0>; //<-1,.5,-1>; // add specific co-ordinates to trace within #declare ContainerEnd=min_extent(Instruments);//<0,0,0>;//min_extent(CamColours); //min_extent(Obj); //max_extent(Obj) +.5*x*y; //<0,0,0>; //<1,.75,1>; // use <0,0,0> for both to ignore (default) #declare Threshold=2;//.1; //2; // 2= detail // .1= Bigger #declare Direction=<1,-1,0>; // Wind/gravity: ; Random directions: <0,0,0> //#declare CamPos=<11 , 1.5 ,-11>; #declare ColSystem=0; // 0= colourize, 1 CMYK, 2=CMYbw, 3=CMYKrgbW . 4=CMYw , 5=CMY to original //#include "dripWriteBak.inc" #declare Brush=3; Drips (Sounders, ColMap, CamPos, CamLook, CamDirect, image_width, image_height, ColVar ,Finnish, Brush, Spacing, MaxDrops, MaxLength, MinThickness, MaxThickness, Merge, Seed, Squiglyness, ColSystem, Threshold, Direction,ContainerStart,ContainerEnd ) /////////// #end /////////////////////////////////////////////////////////////////////// #if (Clock=1) union{ object{BuskScene } object{Buskers finish{diffuse 1 ambient 1 emission 1}} object{Instruments } rotate y*SceneRot } #end ////Final Camera/////////// /* camera { // location <-4.5, 1.5, .5> right x*image_width/image_height look_at <0,1.5,1.3> } */ /* #declare CamPos= <-4.5, 1.5, .5>; #declare CamLook= <0,1.5,1.3>; #declare CamDirect=<0,0,1>; #declare CamWidth=image_width; #declare CamHeight=image_height; */ camera { location CamPos direction CamDirect right x*image_width/image_height look_at CamLook } //plane {y, 0 pigment{rgb 1}} // Set a color of the background (sky) //background { color rgb< 1, 1, 1> } // Temp lights /* // create a regular point light source light_source { 0*x // light's position (translated below) color rgb 1 // light's color translate <0, 400, -200> } light_source { 0*x // light's position (translated below) color rgb 1 // light's color translate <-200, 400, -200> } light_source { 0*x // light's position (translated below) color rgb 1 // light's color translate <200, 400, -200> } light_source { 0*x // light's position (translated below) color rgb 1 // light's color translate <200, 400, 200> } light_source { 0*x // light's position (translated below) color rgb 1 // light's color translate <-200, 400, 200> } object{Obj } */ ////Final Camera/////////// /* camera { // //spherical location <-4.5, 1.5, .5> //direction 1.5*z // angle 90 right x*image_width/image_height look_at <0,1.5,1.3>// <1.35,1.4,-.2>//-sunflower position // <3.5, 1.6, 1> //rotate y*180 // focal blur camera #if (FocalBlur) //aperture .5 // [0...N] larger is narrower depth of field (blurrier) //aperture 0.4 // a nice compromise aperture 0.01 // almost everything is in focus // aperture 1.5 // much blurring blur_samples 10 //100 // number of rays per pixel for sampling focal_point <1,1.35,-.2> // point that is in focus //confidence .0001//.1 //0.95 // [0...<1] when to move on while sampling (smaller is less accurate) //variance .0000001 //1/1000 // [0...1] how precise to calculate (smaller is more accurate) #end } */