// Persistence Of Vision raytracer version 3.5 sample file. // File by Sven Littkowski // Modified October 2006 by POV-Team for use with POV-Ray v3.7.16a RTR demo // Will not work with earlier or later versions. // global_settings { assumed_gamma 2.2 max_trace_level 10 /* radiosity { pretrace_start 0.08 pretrace_end 0.01 count 120 error_bound 0.25 recursion_limit 1 }*/ } #include "kolors.inc" #include "colors.inc" #include "finish.inc" #include "glass.inc" #include "textures.inc" #include "SL - Human - Sven 01.inc" #declare TunnelLights=true; #declare Multiplicator10=1.0; #declare Multiplicator25=1.250; background { Black } light_source { < 0.0, 999.0, 0.0 > color rgb < 0.0745098, 0.1843137, 0.141176 > * Multiplicator10 spotlight radius 50.0 falloff 25.0 tightness 0.0 point_at < 0.0, 0.0, 0.0 > media_interaction on media_attenuation on // fade_distance 50.0 // fade_power 3.0 } // ----------------------------------------------------------------------------------------------------------------------------------------- The Textures #declare Silo = texture { pigment { image_map { jpeg "Deep Sea - Silo.jpg" map_type 2 } rotate < 0.0, 90.0, 0.0 > scale < 6.75, 6.75, 6.75 > translate < 0.0, 0.25, 0.0 > } finish { } } #declare Cylinder = texture { pigment { image_map { jpeg "Deep Sea - Cylinder.jpg" map_type 2 } rotate < 0.0, 90.0, 0.0 > scale < 4.0, 4.0, 4.0 > translate < 0.0, 0.0, 0.0 > } finish { } } #declare Floor = texture { pigment { rgb < 0.7490196, 0.3098039, 0.1176471 > } normal {granite 0.2 scale 0.02} finish { diffuse 0.4 } } // Corrosion Red #declare InsideMost = texture { pigment { White } finish { } } // White #declare InsideSome = texture { pigment { rgb < 0.3137255, 0.3882353, 0.5607843 > } finish { } } // Blue #declare InsideHands = texture { pigment { rgb < 0.9686275, 0.8431373, 0.1411765 > } finish { } } // Blue #declare Door = texture { pigment { White } finish { } } // Blue #declare Rubber = texture { pigment { Black } finish { } } // Blue #declare InsideCeiling = texture { pigment { White } finish { } } // Blue #declare Sideboard = texture { pigment { White } finish { } } // White // ----------------------------------------------------------------------------------------------------------------------------------------- The Environment granite #declare Meeresgrund=height_field { png "Heightfield.png" smooth texture { pigment { image_map { jpeg "Seabed 01.jpg" map_type 0 interpolate 2 } rotate x*90 // lay X-Y image map down onto X-Z height field plane scale 0.1 } } finish { ambient 0.0 } translate < -0.5, 0.0, -0.5 > scale < 1000.0, 50.0, 1000.0 > } #declare Normal=< 0.0, 0.0, 0.0 >; #declare Boden=trace( Meeresgrund, < -23.0, 100.0, 0.0 >, -y, Normal ); /* box // instead of Fog: Media { < -1000.0, -1000.0, -1000.0 > < 1000.0, 1000.0, 1000.0 > hollow pigment { rgbt 1 } //in case the camera is outside it or anything interior { //ior 1.33 not needed since both camera & subject are underwater media { absorption rgb 1/< 0.1, 1.0, 0.7> emission rgb 0.1 * < 0.0, 0.1, 0.2> density { rgb .02 } //needs to be quite low because you need to see fairly far } } } */ #declare Water=difference // instead of Fog: Filter { box { < -1000.0, -1000.0, -1000.0 > < 1000.0, 1000.0, 1000.0 > hollow } cylinder { < -17.5, Boden.y+1.5, -23.85 > < -17.5, Boden.y+1.5, +23.85 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -22.0 > < -16.15, Boden.y+1.5, -22.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -18.0 > < -16.15, Boden.y+1.5, -18.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -14.0 > < -16.15, Boden.y+1.5, -14.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -10.0 > < -16.15, Boden.y+1.5, -10.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -06.0 > < -16.15, Boden.y+1.5, -06.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, -02.0 > < -16.15, Boden.y+1.5, -02.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +02.0 > < -16.15, Boden.y+1.5, +02.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +06.0 > < -16.15, Boden.y+1.5, +06.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +10.0 > < -16.15, Boden.y+1.5, +10.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +14.0 > < -16.15, Boden.y+1.5, +14.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +18.0 > < -16.15, Boden.y+1.5, +18.0 > 1.225 } cylinder { < -18.85, Boden.y+1.5, +22.0 > < -16.15, Boden.y+1.5, +22.0 > 1.225 } /* */ pigment { rgbf < 0.0745098, 0.1843137, 0.141176, 0.125 > } // pigment { rgbt 1 } //in case the camera is outside it or anything /* interior { //ior 1.33 not needed since both camera & subject are underwater media { absorption rgb 1/< 0.1, 1.0, 0.7> emission rgb 0.1 * < 0.0, 0.1, 0.2> density { rgb 0.05 } //needs to be quite low because you need to see fairly far } }*/ interior { #local S_low=60; #local S_high=100; media { //pea absorption < 0.09, 0.020, 0.01 >*.6 scattering { 1, 1.0 extinction 1.0 } density { granite turbulence 0.0 scale 0.03125 color_map { [ 0.00 rgb 0 ] [ 0.85 rgb 0 ] [ 0.90 rgb < 0.004, 0.006, 0.002 >*1.4 ] [ 1.00 rgb < 0.004, 0.006, 0.002 >*1.4 ] } } method 1 samples S_low, S_high } media { //large pieces scattering { 1, 1.0 extinction 1.0 } density { granite turbulence 0.1 scale 5.5 color_map { [ 0.000 rgb < 0.025, 0.025, 0.022 >*3 ] [ 0.030 rgb < 0.025, 0.025, 0.022 >*3 ] [ 0.035 rgb 0 ] [ 1.000 rgb 0 ] } } method 1 samples S_low, S_high } media { scattering { 1, 0.45 extinction 1.0 } density { granite turbulence 1.0 scale 10.1 //SMALL color_map { [0.0 rgb <.000025,.0013,.0025>*.1 ] [0.60 rgb <.000025,.0013,.0025>*.3 ] [1.00 rgb <.000025,.0013,.0025>*.3 ] } } method 1 samples S_low, S_high } media { scattering { 1, 0.55 extinction 1.0 } density { granite turbulence 1.5 scale .5 color_map { [0.0 rgb <.000025,.0025,.0025>*.1 ] [0.60 rgb <.000025,.0025,.0025>*.3 ] [1.00 rgb <.000025,.0025,.0025>*.3 ] } } method 1 samples S_low, S_high } } finish { ambient 0 diffuse 0 specular 0 reflection 0 } } /**/ //fog {colour rgbft < 0.1215686, 0.1882353, 0.145098, 1.0, 0.0 > distance 50.0 } // ----------------------------------------------------------------------------------------------------------------------------------------- Special Cameras camera // Scene { location < 0.0, 75.0, -50.0 > look_at < 0.0, 0.0, 0.0 > blur_samples 3.0 } /* */ camera // Inside Tunnel { location < -17.5, Boden.y+1.50, -3.0 > look_at < -17.5, Boden.y+1.50, 0.0 > blur_samples 3.0 } /* camera // Above Tunnel { location < -17.5, Boden.y+3.50, -3.0 > look_at < -17.5, Boden.y+3.50, 0.0 > blur_samples 3.0 } */ /* camera // At a lightpost { location < -0.0, Boden.y+1.50, 43.0 > look_at < -0.0, Boden.y+0.00, 50.0 > blur_samples 3.0 } */ // ----------------------------------------------------------------------------------------------------------------------------------------- The Resources #declare Lichtkugel=sphere { < 0.0, 0.0, 0.0 > 0.25 pigment { rgb < 0.8117647, 0.8941176, 0.5607843 > *Multiplicator10 } finish { ambient 1.0 } no_shadow } #declare Lichtkasten=box { < -0.1, -0.01, -0.25 > < 0.1, 0.0, 0.25 > pigment { White * Multiplicator10 } finish { ambient 1.0 } no_shadow } #declare Licht=union { light_source { < 0.0, 1.0, 0.0 > color rgb < 0.8117647, 0.8941176, 0.5607843 > * Multiplicator25 looks_like { Lichtkugel } media_interaction on media_attenuation on fade_distance 7.5 fade_power 3.0 } cylinder { < 0.0, 0.0, 0.0 > < 0.0, 1.0, 0.0 > 0.25 pigment { White } no_shadow } } /* #declare Signal=sphere // Signal Light { < 0.0, 0, 0.0 > 0.05 pigment { rgb < 0.8117647, 0.8941176, 0.5607843 > * 10 } finish { ambient 1.0 } // no_shadow } #declare SignalLight=light_source { < 0.0, 0.0, 0.0 > color rgb < 0.8117647, 0.8941176, 0.5607843 > * 100 looks_like { Signal } fade_distance 0.9 fade_power 3.0 } */ #declare SignalLight=union {/* light_source { < 0.0, 0.0, 0.0 > color rgb < 0.8117647, 0.8941176, 0.5607843 > * Multiplicator10 media_interaction on media_attenuation on fade_distance 0.9 fade_power 3.0 }*/ sphere // Signal Light { < 0.0, 0, 0.0 > 0.05 pigment { rgb < 0.8117647, 0.8941176, 0.5607843 > * Multiplicator10 } finish { ambient 1.0 } no_shadow } } #macro Exit(Sign,SignWhere,Angle,Rotation,Translation) union { difference { union { cylinder // Round Wall { < -0.025, 0.0, 0.0 > < 0.025, 0.0, 0.0 > 1.20 texture { gradient y texture_map { [ 0.0 InsideSome ] [ 0.3 InsideSome ] [ 0.3 InsideMost ] [ 1.0 InsideMost ] } scale 2.40 translate < 0.0, -1.20, 0.0 > } } box // Door Frame { < -0.035, -1.05, -0.55 > < 0.035, 1.05, 0.55 > texture { Rubber } } } box // Door Cut-Out { < -0.036, -1.0, -0.5 > < 0.036, 1.0, 0.5 > texture { Rubber } } } union { difference { box // Door { < -0.055, -1.0, -0.5 > < 0.055, 1.0, 0.5 > texture { Door } } cylinder // Window Cut-Out { < -0.056, 0.4, 0.0 > < 0.056, 0.4, 0.0 > 0.10 texture { Rubber } } } /* cylinder // Window { < -0.055, 0.4, 0.0 > < 0.055, 0.4, 0.0 > 0.10 // texture { Glass } } */ torus { 0.10, 0.025 texture { InsideHands } translate < 0.0, 0.0, 0.30 > } #if(strcmp(Sign,"")!=0) #declare Sign=concat("Deep Sea - ",Sign,".jpg"); // String #declare Hint = texture { pigment { image_map { jpeg Sign map_type 0 } scale < 1.0, 1.0, 1.0 > translate < 0.0, 0.0, 0.0 > rotate < 0.0, 180.0, 0.0 > } finish { Glossy } } #if(SignWhere=0) box { < 0.0, 0.0, 0.0 > < 1.0, 1.0, 0.056 > texture { Hint } scale < 0.4, 0.2, 1.0 > translate < -0.2, 0.6, 0.0 > rotate < 0.0, 090.0, 0.0 > rotate < 0.0, 000.0, 0.0 > } #end #if(SignWhere=1) box { < 0.0, 0.0, 0.0 > < 1.0, 1.0, 0.056 > texture { Hint } scale < 0.4, 0.2, 1.0 > translate < -0.2, 0.6, 0.0 > rotate < 0.0, 090.0, 0.0 > rotate < 0.0, 180.0, 0.0 > } #end #end #if(Angle>90.0) #declare Angle=90.0; #end #if(Angle<-90.0) #declare Angle=-90.0; #end translate < 0.0, 0.0, 0.5 > rotate < 0.0, Angle, 0.0 > translate < 0.0, 0.0, -0.5 > } rotate Rotation translate Translation } #end #declare TunnelSideboard=union { cylinder // Sideboards Cylinder { < 0.65, 0.29, 3.24 > < 0.65, 2.71, 3.24 > 0.025 // -3.24 ... 0.76 texture { InsideHands } } cylinder // Sideboards Cylinder { < -0.65, 0.29, 3.24 > < -0.65, 2.71, 3.24 > 0.025 texture { InsideHands } } box // Sideboards Side { < 0.65, 0.29, 3.22 > < 1.21, 2.71, 3.24 > texture { Sideboard } } box // Sideboards Side { < -1.21, 0.29, 3.22 > < -0.65, 2.71, 3.24 > texture { Sideboard } } box // Sideboards { < 0.70, 1.02, 3.24 > < 1.21, 1.04, 3.85 > texture { Sideboard } } box // Sideboards { < -1.21, 1.02, 3.24 > < -0.70, 1.04, 3.85 > texture { Sideboard } } box // Sideboard Bottom { < 0.70, 0.30, 3.24 > < 1.21, 1.02, 3.85 > texture { InsideSome } } box // Sideboard Bottom { < -1.21, 0.30, 3.24 > < -0.70, 1.02, 3.85 > texture { InsideSome } } box // Sideboard Top { < 0.70, 2.20, 3.24 > < 1.21, 2.70, 3.85 > texture { Sideboard } } box // Sideboard Top { < -1.21, 2.20, 3.24 > < -0.70, 2.70, 3.85 > texture { Sideboard } } cylinder // Sideboards Top { < 0.90, 2.20, 3.24 > < 0.90, 2.20, 3.85 > 0.2 texture { Sideboard } } cylinder // Sideboards Top { < -0.90, 2.20, 3.24 > < -0.90, 2.20, 3.85 > 0.2 texture { Sideboard } } box // Sideboard Top { < 0.90, 2.00, 3.24 > < 1.21, 2.70, 3.85 > texture { Sideboard } } box // Sideboard Top { < -1.21, 2.00, 3.24 > < -0.90, 2.70, 3.85 > texture { Sideboard } } cylinder // Sideboards Lights { < 0.90, 2.20, 3.30 > < 0.90, 2.20, 3.35 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < -0.90, 2.20, 3.30 > < -0.90, 2.20, 3.35 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < 0.90, 2.20, 3.40 > < 0.90, 2.20, 3.45 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < -0.90, 2.20, 3.40 > < -0.90, 2.20, 3.45 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < 0.90, 2.20, 3.50 > < 0.90, 2.20, 3.55 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < -0.90, 2.20, 3.50 > < -0.90, 2.20, 3.55 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < 0.90, 2.20, 3.60 > < 0.90, 2.20, 3.65 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < -0.90, 2.20, 3.60 > < -0.90, 2.20, 3.65 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < 0.90, 2.20, 3.70 > < 0.90, 2.20, 3.75 > 0.201 pigment { White } finish { ambient 1.0 } } cylinder // Sideboards Lights { < -0.90, 2.20, 3.70 > < -0.90, 2.20, 3.75 > 0.201 pigment { White } finish { ambient 1.0 } } } // ----------------------------------------------------------------------------------------------------------------------------------------- The Elements #declare Airlock=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Turquoise } } #declare Oxygen=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Blue } } #declare Staff=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Yellow } } #declare Agro=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Green } } #declare Power=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Red } } #declare Medical=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Orange } } #declare Relax=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { LimeGreen } } #declare Vehicles=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { DustyRose } } #declare Lab=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { SummerSky } } #declare Docking=cylinder { < 0.0, 0.0, 0.0 > < 0.0, 3.0, 0.0 > 2.0 pigment { Purple } } #declare CommandPost=union { difference { union { cylinder // Command Post { < 0.0, 0.25, 0.0 > < 0.0, 10.0, 0.0 > 3.50 pigment { White } } cylinder // Crosspoint { < -4.00, 1.5, 0.0 > < 4.00, 1.5, 0.0 > 1.25 pigment { White } } cylinder // Crosspoint { < 0.0, 1.5, -4.0 > < 0.0, 1.5, 4.0 > 1.25 pigment { White } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 000.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 045.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 090.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 135.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 180.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 225.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 270.0, 0.0 > } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 10.50, 0.0 > 0.25 pigment { White } rotate < 0.0, 315.0, 0.0 > } torus { 3.25, 0.25 pigment { White } translate < 0.0, 10.50, 0.0 > } } cylinder // Inside { < 0.0, 0.30, 0.0 > < 0.0, 9.95, 0.0 > 3.45 texture { InsideMost } } difference { union { cylinder // Inside Crosspoints { < 0.0, 1.5, -4.01 > < 0.0, 1.5, 4.01 > 1.20 texture { InsideMost } } cylinder // Inside Crosspoints { < -4.01, 1.5, 0.0 > < 4.01, 1.5, 0.0 > 1.20 texture { InsideMost } } } box { < -4.02, -1.30, -4.02 > < 4.02, -1.00, 4.02 > pigment { rgb < 0.8, 0.8039216, 0.7058824 > } } } } union { cylinder // Holders { < -3.25, -10.0, 0.0 > < -3.25, 0.25, 0.0 > 0.25 pigment { White } } rotate < 0.0, 000.0, 0.0 > } Exit("",0,0,< 0.0, 000.0, 0.0 >,< -3.90, 1.5, -0.0 >) // Side Exits Exit("",0,0,< 0.0, 000.0, 0.0 >,< +3.90, 1.5, -0.0 >) // Side Exits Exit("",0,0,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, -3.90 >) // Side Exits Exit("",0,0,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, +3.90 >) // Side Exits } #declare Storage=union { difference { union { cylinder // Storage { < 0.0, 0.25, 0.0 > < 0.0, 7.0, 0.0 > 3.50 texture { Silo } } sphere { < 0.0, 0.0, 0.0 > 3.50 scale < 1.0, 0.25, 1.0 > translate < 0.0, 7.0, 0.0 > texture { Cylinder } } sphere { < 0.0, 0.0, 0.0 > 3.50 scale < 1.0, 0.25, 1.0 > translate < 0.0, 0.25, 0.0 > texture { Cylinder } } cylinder // Crosspoint { < -4.00, 1.5, 0.0 > < 4.00, 1.5, 0.0 > 1.25 texture { Cylinder rotate < 90.0, 0.0, 0.0 > rotate < 0.0, 90.0, 0.0 > } } cylinder // Crosspoint { < 0.0, 1.5, -4.0 > < 0.0, 1.5, 4.0 > 1.25 texture { Cylinder rotate < 90.0, 0.0, 0.0 > rotate < 0.0, 00.0, 0.0 > } } object { SignalLight translate < -3.495, 7.0, 0.0 > rotate < 0.0, 000.0, 0.0 > } // Signal Light object { SignalLight translate < -3.495, 7.0, 0.0 > rotate < 0.0, 090.0, 0.0 > } // Signal Light object { SignalLight translate < -3.495, 7.0, 0.0 > rotate < 0.0, 180.0, 0.0 > } // Signal Light object { SignalLight translate < -3.495, 7.0, 0.0 > rotate < 0.0, 270.0, 0.0 > } // Signal Light object { SignalLight translate < -3.90, 2.755, 0.0 > rotate < 0.0, 000.0, 0.0 > } // Signal Light object { SignalLight translate < -3.90, 2.755, 0.0 > rotate < 0.0, 090.0, 0.0 > } // Signal Light object { SignalLight translate < -3.90, 2.755, 0.0 > rotate < 0.0, 180.0, 0.0 > } // Signal Light object { SignalLight translate < -3.90, 2.755, 0.0 > rotate < 0.0, 270.0, 0.0 > } // Signal Light cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 000.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 045.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 090.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 135.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 180.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 225.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 270.0, 0.0 > texture { Cylinder } } cylinder // Legs { < -3.25, -10.0, 0.0 > < -3.25, 7.00, 0.0 > 0.25 rotate < 0.0, 315.0, 0.0 > texture { Cylinder } } } cylinder // Inside { < 0.0, 0.30, 0.0 > < 0.0, 6.95, 0.0 > 3.45 texture { InsideMost } } difference { union { cylinder // Inside Crosspoints { < 0.0, 1.5, -4.01 > < 0.0, 1.5, 4.01 > 1.20 texture { InsideMost } } cylinder // Inside Crosspoints { < -4.01, 1.5, 0.0 > < 4.01, 1.5, 0.0 > 1.20 texture { InsideMost } } } box { < -4.02, -1.30, -4.02 > < 4.02, -1.00, 4.02 > texture { Floor } } } } Exit("",0,0,< 0.0, 000.0, 0.0 >,< -3.90, 1.5, -0.0 >) // Side Exits Exit("",0,0,< 0.0, 000.0, 0.0 >,< +3.90, 1.5, -0.0 >) // Side Exits Exit("",0,0,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, -3.90 >) // Side Exits Exit("",0,0,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, +3.90 >) // Side Exits } #macro Tunnelsection(SignN,SignE,SignS,SignW,AngleN,AngleE,AngleS,AngleW,Rotation,Translation) union // Conection Tunnels { difference { union { cylinder // Tunnel { < 0.0, 0.0, 0.0 > < 0.0, 4.0, 0.0 > 1.25 texture { Cylinder } rotate < 90.0, 0.0, 0.0 > translate < 0.0, 1.5, 0.0 > } cylinder // Crosspoint { < 0.0, -1.5, 0.0 > < 0.0, 1.5, 0.0 > 1.25 texture { Cylinder } rotate < 0.0, 0.0, 90.0 > translate < 0.0, 1.5, 2.0 > } object { SignalLight translate < -1.0, 2.751, 2.0 > } // Signal Light object { SignalLight translate < +1.0, 2.751, 2.0 > } // Signal Light cylinder // Connection Ring { < 0.0, 1.5, 0.05 > < 0.0, 1.5, 0.30 > 1.30 texture { Cylinder } } cylinder // Connection Ring { < 0.0, 1.5, 3.70 > < 0.0, 1.5, 3.95 > 1.30 texture { Cylinder } } cylinder // Legs { < -1.0, -10.0, 1.0 > < -1.0, 1.5, 1.0 > 0.25 texture { Cylinder } } cylinder // Legs { < 1.0, -10.0, 1.0 > < 1.0, 1.5, 1.0 > 0.25 texture { Cylinder } } cylinder // Legs { < -1.0, -10.0, 3.0 > < -1.0, 1.5, 3.0 > 0.25 texture { Cylinder } } cylinder // Legs { < 1.0, -10.0, 3.0 > < 1.0, 1.5, 3.0 > 0.25 texture { Cylinder } } } difference { union { cylinder // Inside { < 0.0, 1.5, -0.01 > < 0.0, 1.5, 4.01 > 1.20 texture { InsideMost } } cylinder // Crosspoint { < -1.51, 1.5, 2.01 > < 1.51, 1.5, 2.0 > 1.20 texture { InsideMost } } } box // Floor { < -1.52, 0.29, -0.02 > < 1.52, 0.45, 4.02 > texture { Floor } } box // Floor Higher { < -0.55, 0.45, -0.02 > < 0.55, 0.499, 4.02 > texture { Floor } } box // Floor Higher { < -1.52, 0.45, 1.45 > < 1.52, 0.499, 2.55 > texture { Floor } } box // Ceiling { < -0.55, 2.55, -0.02 > < 1.52, 2.71, 4.02 > texture { InsideCeiling } } object { TunnelSideboard rotate < 0.0, 000.0, 0.0 > translate < 0.0, 000.0, 0.0 > } object { TunnelSideboard rotate < 0.0, 180.0, 0.0 > translate < 0.0, 0.0, 4.0 > } } } Exit(SignN,0,AngleN,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, 3.85 >) // Exits Exit(SignE,1,AngleE,< 0.0, 000.0, 0.0 >,< +1.35, 1.5, 2.0 >) // Side Exits Exit(SignS,1,AngleS,< 0.0, 090.0, 0.0 >,< -0.0, 1.5, 0.15 >) // Exits Exit(SignW,0,AngleW,< 0.0, 000.0, 0.0 >,< -1.35, 1.5, 2.0 >) // Side Exits #if(TunnelLights=true) light_source { < 0.0, 2.00, 3.0 > color White * 0.6 // area_light < -0.5, 2.00, -1.5 > < 0.5, 2.00, 1.5 > 1, 3 adaptive 1 jitter // looks_like { Lichtkasten } fade_distance 2.0 fade_power 3.0 }/* */ light_source { < 0.0, 2.00, 2.0 > color White * 0.6 adaptive 1 jitter // looks_like { Lichtkasten } fade_distance 2.0 fade_power 3.0 } light_source { < 0.0, 2.00, 1.0 > color White * 0.6 adaptive 1 jitter // looks_like { Lichtkasten } fade_distance 2.0 fade_power 3.0 } #end // object { Sven01 rotate < 0.0, 0.0, 0.0 > translate < 0.0, 0.45, 3.50 > } rotate Rotation translate Translation } #end // ----------------------------------------------------------------------------------------------------------------------------------------- The Scene object { Meeresgrund } // object { Water } // /* */ #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -40.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -40.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -30.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -30.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -20.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -20.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -10.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -10.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, -00.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, -00.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, +10.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, +10.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, +20.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, +20.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, +30.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, +30.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, +40.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, +40.0 > } #declare Boden=trace( Meeresgrund, < -50.0, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -50.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -50.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -40.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -40.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -30.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -30.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -20.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -20.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -10.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -10.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, -00.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, -00.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, +10.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, +10.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, +20.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, +20.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, +30.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, +30.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, +40.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, +40.0 > } #declare Boden=trace( Meeresgrund, < +50.0, 100.0, +50.0 >, -y, Normal ); object {Licht translate < +50.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < -40.0, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -40.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -30, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -30.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -20, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -20.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -10, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -10.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -00, 100.0, -50.0 >, -y, Normal ); object {Licht translate < -00.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < +10, 100.0, -50.0 >, -y, Normal ); object {Licht translate < +10.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < +20, 100.0, -50.0 >, -y, Normal ); object {Licht translate < +20.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < +30, 100.0, -50.0 >, -y, Normal ); object {Licht translate < +30.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < +40, 100.0, -50.0 >, -y, Normal ); object {Licht translate < +40.0, Boden.y, -50.0 > } #declare Boden=trace( Meeresgrund, < -40.0, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -40.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < -30, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -30.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < -20, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -20.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < -10, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -10.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < -00, 100.0, +50.0 >, -y, Normal ); object {Licht translate < -00.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < +10, 100.0, +50.0 >, -y, Normal ); object {Licht translate < +10.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < +20, 100.0, +50.0 >, -y, Normal ); object {Licht translate < +20.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < +30, 100.0, +50.0 >, -y, Normal ); object {Licht translate < +30.0, Boden.y, +50.0 > } #declare Boden=trace( Meeresgrund, < +40, 100.0, +50.0 >, -y, Normal ); object {Licht translate < +40.0, Boden.y, +50.0 > } /**/ #declare Boden=trace( Meeresgrund, < -23.0, 100.0, 0.0 >, -y, Normal ); Tunnelsection("North Command", "Airlock", "", "", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -24.0 >) Tunnelsection("North Command", "", "South", "Silo E", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -20.0 >) Tunnelsection("North Command", "", "South", "", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -16.0 >) Tunnelsection("North Command", "", "South", "Silo D", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -12.0 >) Tunnelsection("North", "East Command", "South", "", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -08.0 >) // Command Tunnelsection("North", "", "South Command", "Staff A", +070,-070,-070,+070,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -04.0 >) // Camera Tunnelsection("North", "", "South Command", "Staff B", -000,-000,-070,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, -00.0 >) Tunnelsection("North", "", "South Command", "Staff c", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, +04.0 >) Tunnelsection("North", "", "South Command", "Staff D", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, +08.0 >) Tunnelsection("North", "East", "South Command", "Staff E", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, +12.0 >) Tunnelsection("North", "", "South Command", "Staff F", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, +16.0 >) // East Tunnelsection("", "", "South Command", "Airlock", -000,-000,-000,-000,< 0.0, 000.0, 0.0 >,< -17.5, Boden.y+0.0, +20.0 >) Tunnelsection("East", "", "West Command", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -16.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "Agro B", "West Command", "Silo C", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -12.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "", "West Command", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -08.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "Agro A", "West Command", "Silo B", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -04.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "", "West Command", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -00.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "Lab A", "West Command", "Silo A", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< +04.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "Lab B", "West Command", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< +08.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "Lab C", "West Command", "Airlock", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< +12.0, Boden.y+0.0, +14.0 >) Tunnelsection("East", "", "West Command", "Oxygen", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< +16.0, Boden.y+0.0, +14.0 >) Tunnelsection("Vehicles", "Docking Area", "West Command", "Power", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< +20.0, Boden.y+0.0, +14.0 >) Tunnelsection("East Command", "", "West", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -16.0, Boden.y+0.0, -06.0 >) Tunnelsection("East Command", "Medical", "West", "Agro B", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -12.0, Boden.y+0.0, -06.0 >) Tunnelsection("East Command", "", "West", "", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -08.0, Boden.y+0.0, -06.0 >) Tunnelsection("Command", "Airlock", "West", "Agro A", -000,-000,-000,-000,< 0.0, 090.0, 0.0 >,< -04.0, Boden.y+0.0, -06.0 >) object { CommandPost translate < 04.0, Boden.y+0.0, -6.0 > } object { Storage translate < -10.0, Boden.y+0.0, 19.5 > } object { Storage translate < -02.0, Boden.y+0.0, 19.5 > } object { Storage translate < +06.0, Boden.y+0.0, 19.5 > } object { Storage translate < -23.0, Boden.y+0.0, -18.0 > } object { Storage translate < -23.0, Boden.y+0.0, -10.0 > } object { Agro translate < -10.0, Boden.y+0.0, 10.5 > } object { Agro translate < -02.0, Boden.y+0.0, 10.5 > } object { Staff translate < -21.0, Boden.y+0.0, -02.0 > } object { Staff translate < -21.0, Boden.y+0.0, +02.0 > } object { Staff translate < -21.0, Boden.y+0.0, +06.0 > } object { Staff translate < -21.0, Boden.y+0.0, +10.0 > } object { Staff translate < -21.0, Boden.y+0.0, +14.0 > } object { Staff translate < -21.0, Boden.y+0.0, +18.0 > } object { Docking translate < +22.0, Boden.y+0.0, +10.5 > } object { Power translate < +22.0, Boden.y+0.0, +17.5 > } object { Oxygen translate < +18.0, Boden.y+0.0, +17.5 > } object { Medical translate < -10.0, Boden.y+0.0, -09.5 > } object { Relax translate < -14.0, Boden.y+0.0, -18.0 > } object { Airlock translate < -14.0, Boden.y+0.0, -22.0 > } object { Airlock translate < -21.0, Boden.y+0.0, +22.0 > } object { Airlock translate < -02.0, Boden.y+0.0, -09.5 > } object { Airlock translate < +14.0, Boden.y+0.0, +17.5 > } object { Vehicles translate < +26.0, Boden.y+0.0, +14.0 > } object { Lab translate < +06.0, Boden.y+0.0, +10.5 > } object { Lab translate < +10.0, Boden.y+0.0, +10.5 > } object { Lab translate < +14.0, Boden.y+0.0, +10.5 > }