// ==== 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 #include "../scenes/kg_perimeter_tower.pov" #include "../scenes/kg_outer_tower.pov" #include "../scenes/kg_base.pov" #include "../scenes/kg_beacon.pov" #include "../scenes/kg_second_tower.pov" #include "../scenes/kg_inner_tower.pov" #include "../scenes/kg_outer_buttress.pov" #include "../scenes/kg_2nd-buttress.pov" #include "../scenes/kg_3rd_buttress.pov" #include "../scenes/kg_ring_buttresses.pov" #include "../scenes/kg_beam.pov" camera { // omnimax location <0, 270, -1200> look_at <-200.0, 200, 0.0> // rotate 10*y // right x*image_width/image_height } light_source { <3000, 4000, -5000> color White media_interaction off // parallel // point_at <0, 0, 0> } /* light_source { <0, 50, 0> color White } */ #declare s = 40; // ground plane { y,0 pigment {Gray95} } // wall difference { cylinder { <0, 0, 0>, <0, s+4, 0>, s*11 pigment {Gray85} finish {phong 1 phong_size 20 diffuse .2 specular .8 ambient .2} } cylinder { <0, -.0001, 0>, <0, s+4.0001, 0>, s*11-5 } pigment {Gray85} finish {phong 1 phong_size 20 diffuse .2 specular .8 ambient .2} } // perimeter wall towers #declare o = 0; #while (o<48) object {Perimeter_Tower rotate <0, 360*o/48+360/96, 0> translate 50*y} #declare o = o+1; #end // outer towers #declare o = 0; #while (o<12) object {Outer_Tower rotate <0, 360*o/12, 0> translate 50*y} #declare o = o+1; #end // 2nd row towers #declare o = 0; #while (o<12) object {Second_tower rotate <0, 360*o/12+15, 0> } #declare o = o+1; #end // inner towers #declare o = 0; #while (o<6) object {Inner_tower rotate <0, 360*o/6, 0> } #declare o = o+1; #end // outer buttresses #declare o = 0; #while (o<12) object {Outer_buttress scale <1.0, 1.2, -1.3> rotate <0, 360*o/12, 0>} #declare o = o+1; #end // second buttresses #declare o = 0; #while (o<12) object {Second_buttress rotate <0, 360*o/12, 0>} #declare o = o+1; #end // third buttresses #declare o = 0; #while (o<6) object {Third_buttress rotate <0, 360*o/6, 0>} object {Third_buttress_l rotate <0, 360*o/6, 0> translate -100*y} #declare o = o+1; #end // inner buttresses #declare o = 0; #while (o<6) object {Third_buttress_3 rotate <0, 360*o/6, 0> translate (230-108)*y} #declare o = o+1; #end // second row ring buttresses #declare o = 0; #while (o<12) object {Second_ring_buttress rotate <0, 360*o/12, 0> translate 140*y} #declare o = o+1; #end // inner ring buttresses #declare o = 0; #while (o<6) object {Inner_ring_buttress rotate <0, 360*o/6, 0> translate 230*y} #declare o = o+1; #end // light #include "../scenes/kg_light.pov" //beam object {Beam} //beam hatching-light object {Light translate -493*y scale .6 translate -870.03*x} // base and beacon difference { union { // base object {Base} // beacon object {Beacon} cylinder { <0, 450, 0>, <0, 490, 0>, 15 pigment {Gray85} finish {phong 1 phong_size 20 diffuse .2 specular .8 ambient .2} no_shadow } } sphere { <0, 493, 0> 23 pigment {Gray85} finish {phong 1 phong_size 20 diffuse .2 specular .8 ambient .2} } } /* sphere {<0, 400, 0> 1600 pigment { rgbt 1 } hollow interior { media { scattering { 1, 0.00004 } } } }*/