#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "metals.inc"
#include "stones.inc"
#include "ynkelonium_texture.pov"
#include "T_BlackMetal.pov"

global_settings {
        assumed_gamma 1.0
        //ambient_light rgb<0.5, 0.5, 0.5>
        ambient_light rgb<0, 0, 0>
	radiosity {}
}
background { color rgb<0.2, 0.4, 0.8>  }
light_source {
    <86E9, 86E9, -86E9>
    color White
}

camera {
	up <0, 4/3, 0>
	right <1, 0, 0>
        location <6000, 1.65, 10>
        look_at <0, 2500, -1000>	//ok
        //location <-46000, 1.65, 0>
        //look_at <-50000, 2, 0>	//ok
        //look_at <6000, 1.65, 0>
}


union {
    union {
	sphere {
	    <0, 0, 0>, 1250
	}
	torus {
	    1250, 400
	}
	translate <0, 1250+750, 0>
    }
    
    union {
	cylinder {
	    <0, 750, 0>,
	    <0, -750, 0>,
	    750
	}
	torus {
	    750, 400
	}
    }

    union {
	sphere {
	    <0, 0, 0>, 1250
	}
	torus {
	    1250, 400
	}
	translate <0, -(1250+750), 0>
    }
    texture {
	Ynkelonium_Texture
    }
    translate <0, 3300, 0>
}


#declare i = 4000;
#while (i < 6000)
    #debug concat ("\nRoboter: ", str(i, 0, 0))
    cylinder {
	<0, 0, 0> <0, 2.5, 0> 0.3
	texture { T_BlackMetal }
	translate <i, 0, -5>
    }
    cylinder {
	<0, 0, 0> <0, 2.5, 0> 0.3
	texture { T_BlackMetal }
	translate <i, 0, 5>
    }
    #declare i = i + 5;
#end

plane {
    <0, 1, 0>, 0.0
    pigment {
	color White*0.7
    }
}

#declare T_Beton = 
    texture {
	pigment {
	    color rgb <1, 1, 1>
	}
	finish {
	    ambient 0.6
	    diffuse 0.3
	    reflection .1
	    specular 0
	    roughness 0.1

	}
    }
#declare T_Fenster = 
    texture {
	pigment {
	    color rgb <0.2, 0.2, 0.5> 
	}
	finish {
	    ambient 0.1
	    diffuse 0.1
	    reflection .25
	    specular 1
	    roughness 0.001

	}
    }

#local ii = 0;
#declare rand2 = seed(1);
#while (ii < 360) 
    #local wm = rand(rand2)*1000;
    #local wd = (wm + 20) / (100000 * pi) * 360;
    #local hd = rand(rand2)*2000;

    box {
	<-50000, 0, 0>
	<-50100, hd, wm>
	texture {
	    quilted 
	    control0 0
	    control1 1
	    texture_map {
		[ 0.0 T_Fenster ]
		[ 0.3 T_Fenster ]
		[ 0.3 T_Beton ]
		[ 1.0 T_Beton ]
	    }
	    scale <10, 5, 10>
	}
	rotate <0, ii, 0>

    }
    #local ii = ii + wd;
#end
