#version 3.7; #declare MyRadiosity = off; global_settings { #if(MyRadiosity) radiosity { media on pretrace_start 0.08 pretrace_end 0.001 count 400 error_bound 0.75 recursion_limit 1 } #end subsurface {} adc_bailout 0.0039 ambient_light rgb < 1.000, 1.000, 1.000 > assumed_gamma 1.000 irid_wavelength rgb < 0.250, 0.180, 0.140 > max_trace_level 5 number_of_waves 10 noise_generator 3 charset ascii } #declare LightDiameter = 10000.0; #declare LightDistanceX = -500000.0; // X = Left - Right #declare LightDistanceY = 1000000.0; // Y = Up - Down #declare LightDistanceZ = -100000.0; // Z = Front - Back #declare LightRotate = 36.0; #declare MyLight = 0.125; camera { location < -200.0, 200.0, -200.0 > location < 0.0, 0.0, 50.0 > location < -5.0, 5.0, -5.0 > location < -850.0, 850.0, -850.0 > look_at < 0.0, 0.0, -50.0 > look_at < 0.0, 0.0, 0.0 > right 1.77*x } #declare MyLight = light_source { < LightDiameter, 0.0, 0.0 > rgb < 0.98039, 0.94902, 0.89804 > * MyLight } #declare MySun = union { #declare Count=0; #while (Count < 360) object { MyLight rotate < 0.0, Count, 0.0 > } #declare Count=Count+LightRotate; #end } object { MySun translate < LightDistanceX, LightDistanceY, LightDistanceZ > } // --- TEXTURES ------------------------------------------------------------------------------------------------------ #declare HullFinish = finish { brilliance 0.25 phong albedo 0.05 metallic 1.00 ambient 0.00 emission 0.00 } #declare AntennaRed = texture { pigment // Brick Red { rgb < 0.74902, 0.34118, 0.22353 > /4 } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare HullGentleRed = texture { pigment // Rose Red { rgb < 0.57, 0.31, 0.30 > } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare HullGray25 = texture { pigment // Gray 50% { rgb < 0.25, 0.25, 0.25 > } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare HullGray50 = texture { pigment // Gray 50% { rgb < 0.50, 0.50, 0.50 > } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare HullGray75 = texture { pigment // Gray 50% { rgb < 0.75, 0.75, 0.75 > } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare HullGray95 = texture { pigment // Gray 50% { rgb < 0.95, 0.95, 0.95 > } finish { HullFinish } translate -0.5*(x+y) rotate < 0.0, 90.0, 0.0 > rotate < 90.0, 0.0, 0.0 > scale 2500.0 translate < 0.0, 0.0, 100.0 > } #declare LightsRed1 = texture // Unten { pigment { rgb < 0.74902, 0.34118, 0.22353 > /4 } finish { ambient 4.0 brilliance 0.25 phong albedo 1.15 phong_size 1.0 metallic 1.00 diffuse albedo 0.5 emission rgb < 0.74902, 0.34118, 0.22353 > *3.0 } } #declare LightsRed2 = texture // Oben { pigment { rgb < 0.74902, 0.34118, 0.22353 > } finish { // ambient 4.0 brilliance 0.25 phong albedo 1.15 phong_size 1.0 metallic 1.00 diffuse albedo 0.5 emission rgb < 0.74902, 0.2600, 0.22353 > *4.0 } } #declare LightsRed = texture { pigment { rgb < 0.74902, 0.34118, 0.22353 > /4 } finish { brilliance 0.25 phong albedo 1.15 phong_size 1.0 metallic 1.00 diffuse albedo 0.5 emission rgb < 0.74902, 0.2600, 0.22353 > *4.0 } } #declare MyAntennaLights = texture { LightsRed } // --- ITEMS ------------------------------------------------------------------------------------------------------ #declare TextureHullWindowsSide = texture { HullGray50 } #declare TextureHullRing = texture { HullGray50 } #declare TextureInteriorSide = texture { HullGray50 } #declare TextureDeepSide = texture { HullGray50 } #declare TextureHullCupolaPaintingSide = texture { HullGray50 } #declare TextureDeepWindowsSide = texture { HullGray50 } #declare TextureHullSide = texture { HullGray50 } #declare TextureHullSphere = texture { HullGray50 } #declare TextureHullTop = texture { HullGray50 } #declare TextureInteriorWindowsSide = texture { HullGray50 } #declare TextureHullFront = texture { HullGray50 } #declare TextureInteriorSphere = texture { HullGray50 } #declare MyMidshipBlob = blob { #declare MyWidth = 1.75; #declare MyThickness = 0.01; #declare MyZ = 0.20; threshold 0.5 cylinder { < -0.2, 0.0, 0.0 > < 0.2, 0.0, 0.0 > 2.0, 0.5 scale < 0.12, 1.00, 1.0 > translate < 0.0, 0.0, -0.50 > } cylinder { < -0.2, 0.0, 0.0 > < 0.2, 0.0, 0.0 > 0.75, 1 scale < 0.5, 1.00, 1.0 > translate < 0.0, 0.0, 0.00 > } cylinder { < -0.2, 0.0, 0.0 > < 0.2, 0.0, 0.0 > 2.0, 1 scale < 0.10, 0.50, 0.5 > translate < 0.0, 0.0, -0.25 > } cylinder { < -0.05, 0.0, 0.0 > < 0.05, 0.0, 0.0 > 0.5, 0.2 scale < 1.5, 1.0, 1.0 > translate < 0.0, MyThickness+0.350, MyZ+0.15 > } cylinder { < -0.05, 0.0, 0.0 > < 0.05, 0.0, 0.0 > 0.5, 0.2 scale < 1.5, 1.0, 1.0 > translate < 0.0, -MyThickness-0.350, MyZ+0.15 > } cylinder { < -MyWidth, MyThickness+0.150, MyZ+0.00 > < MyWidth, MyThickness+0.150, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.120, MyZ+0.00 > < MyWidth, MyThickness/2+0.120, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.090, MyZ+0.00 > < MyWidth, MyThickness/2+0.090, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.060, MyZ+0.00 > < MyWidth, MyThickness/2+0.060, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.030, MyZ+0.00 > < MyWidth, MyThickness/2+0.030, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, 0.00, MyZ+0.00 > < MyWidth, 0.00, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.030, MyZ+0.00 > < MyWidth, -MyThickness/2-0.030, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.060, MyZ+0.00 > < MyWidth, -MyThickness/2-0.060, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.090, MyZ+0.00 > < MyWidth, -MyThickness/2-0.090, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.120, MyZ+0.00 > < MyWidth, -MyThickness/2-0.120, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness-0.150, MyZ+0.00 > < MyWidth, -MyThickness-0.150, MyZ+0.00 > 0.25, 1 } cylinder { < -MyWidth, MyThickness+0.150, MyZ+0.075 > < MyWidth, MyThickness+0.150, MyZ+0.075 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness-0.150, MyZ+0.075 > < MyWidth, -MyThickness-0.150, MyZ+0.075 > 0.25, 1 } cylinder { < -MyWidth, MyThickness , MyZ+0.15 > < MyWidth, MyThickness , MyZ+0.15 > 0.5, 1 } cylinder { < -MyWidth, -MyThickness , MyZ+0.15 > < MyWidth, -MyThickness , MyZ+0.15 > 0.5, 1 } cylinder { < -MyWidth, MyThickness , MyZ+0.30 > < MyWidth, MyThickness , MyZ+0.30 > 0.5, 1 } cylinder { < -MyWidth, -MyThickness , MyZ+0.30 > < MyWidth, -MyThickness , MyZ+0.30 > 0.5, 1 } cylinder { < -MyWidth, MyThickness , MyZ+0.45 > < MyWidth, MyThickness , MyZ+0.45 > 0.5, 1 } cylinder { < -MyWidth, -MyThickness , MyZ+0.45 > < MyWidth, -MyThickness , MyZ+0.45 > 0.5, 1 } cylinder { < -MyWidth, MyThickness , MyZ+0.60 > < MyWidth, MyThickness , MyZ+0.60 > 0.5, 1 } cylinder { < -MyWidth, -MyThickness , MyZ+0.60 > < MyWidth, -MyThickness , MyZ+0.60 > 0.5, 1 } cylinder { < -MyWidth, MyThickness , MyZ+0.75 > < MyWidth, MyThickness , MyZ+0.75 > 0.5, 1 } cylinder { < -MyWidth, -MyThickness , MyZ+0.75 > < MyWidth, -MyThickness , MyZ+0.75 > 0.5, 1 } cylinder { < -MyWidth, MyThickness+0.150, MyZ+0.825 > < MyWidth, MyThickness+0.150, MyZ+0.825 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness-0.150, MyZ+0.825 > < MyWidth, -MyThickness-0.150, MyZ+0.825 > 0.25, 1 } cylinder { < -MyWidth, MyThickness+0.150, MyZ+0.90 > < MyWidth, MyThickness+0.150, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.120, MyZ+0.90 > < MyWidth, MyThickness/2+0.120, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.090, MyZ+0.90 > < MyWidth, MyThickness/2+0.090, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.060, MyZ+0.90 > < MyWidth, MyThickness/2+0.060, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, MyThickness/2+0.030, MyZ+0.90 > < MyWidth, MyThickness/2+0.030, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, 0.00, MyZ+0.90 > < MyWidth, 0.00, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.030, MyZ+0.90 > < MyWidth, -MyThickness/2-0.030, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.060, MyZ+0.90 > < MyWidth, -MyThickness/2-0.060, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.090, MyZ+0.90 > < MyWidth, -MyThickness/2-0.090, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness/2-0.120, MyZ+0.90 > < MyWidth, -MyThickness/2-0.120, MyZ+0.90 > 0.25, 1 } cylinder { < -MyWidth, -MyThickness-0.150, MyZ+0.90 > < MyWidth, -MyThickness-0.150, MyZ+0.90 > 0.25, 1 } sphere { < 0.0, 0.0, 0.0 > 0.5, 1 scale < 1.00, 1.00, 0.5 > translate < MyWidth-0.2, 0.0, MyZ-0.25 > } sphere { < 0.0, 0.0, 0.0 > 0.5, 1 scale < 1.00, 1.00, 0.5 > translate < -MyWidth+0.2, 0.0, MyZ-0.25 > } sphere { < 0.0, 0.0, 0.0 > 0.5, 1 scale < 1.25, 1.75, 2.5 > translate < MyWidth-0.3, 0.0, MyZ+0.9 > } sphere { < 0.0, 0.0, 0.0 > 0.5, 1 scale < 1.25, 1.75, 2.5 > translate < -MyWidth+0.3, 0.0, MyZ+0.9 > } sphere { < 0.0, 0.0, 1.5 > 0.5, -4 } // Heckeinschnitt sphere { < 0.35, 0.25, MyZ+0.08 > 0.275, -1.5 } // These below cause problems -------------------------------- ||| CLIPKA ||| -------------------- sphere { < 0.35, -0.25, MyZ+0.08 > 0.275, -1.5 } sphere { < -0.35, 0.25, MyZ+0.08 > 0.275, -1.5 } sphere { < -0.35, -0.25, MyZ+0.08 > 0.275, -1.5 } sphere { < 0.85, 0.25, MyZ+0.06 > 0.225, -1.75 } sphere { < 0.85, -0.25, MyZ+0.06 > 0.225, -1.75 } sphere { < -0.85, 0.25, MyZ+0.06 > 0.225, -1.75 } sphere { < -0.85, -0.25, MyZ+0.06 > 0.225, -1.75 } sphere { < 1.10, 0.23, MyZ-0.04 > 0.175, -1.50 } sphere { < 1.10, -0.23, MyZ-0.04 > 0.175, -1.50 } sphere { < -1.10, 0.23, MyZ-0.04 > 0.175, -1.50 } sphere { < -1.10, -0.23, MyZ-0.04 > 0.175, -1.50 } sturm 1.0 texture { TextureHullSide } scale 450.0 translate < 0.0, 0.0, 250.0 > } #declare MidshipSpheres = union { sphere // #6 Side Top { < 0.0, 0.0, 0.0 > 90.0 texture { TextureHullSphere } translate < -160.0, 110.0, 350.0 > } sphere // #7 Side Hangar Medium Top { < 0.0, 0.0, 0.0 > 70.0 texture { TextureHullSphere } translate < -390.0, 120.0, 360.0 > } sphere // #8 Side Hangar Small Top { < 0.0, 0.0, 0.0 > 40.0 texture { TextureHullSphere } translate < -500.0, 130.0, 310.0 > } } #declare AllMidshipSpheres = union { object { MidshipSpheres scale < 1.0, 1.0, 1.0 > } object { MidshipSpheres scale < -1.0, 1.0, 1.0 > } object { MidshipSpheres scale < 1.0, -1.0, 1.0 > } object { MidshipSpheres scale < -1.0, -1.0, 1.0 > } } #declare MidshipHull = difference { union { sphere { < 0.0, 0.0, 0.0 > 250.0 texture { TextureHullSphere } translate < -500, 0.0, 550.0 > } sphere { < 0.0, 0.0, 0.0 > 250.0 texture { TextureHullSphere } translate < 500, 0.0, 550.0 > } // sphere { < 000.0, 0.0, 900.0 > 400.0 scale < 1.0, 0.60, 1.0 > texture { TextureHullTop } } // Mining Port object { MyMidshipBlob } // Mittschiffsrumpf difference { object { AllMidshipSpheres } // object { MyMSBlobDifference } } } box { < -100.0, -600.0, -1000.0> < 100.0, 600.0, -300.0 > texture { TextureHullFront } } box { < -37.5, -600.0, -600.0> < 37.5, 600.0, -275.0 > texture { TextureHullFront } } cylinder { < -1050.0, 0.0, 3000.0 > < -1050.0, 0.0, -1000.0 > 500.0 texture { TextureHullSide } } // Hangar cylinder { < 1050.0, 0.0, 3000.0 > < 1050.0, 0.0, -1000.0 > 500.0 texture { TextureHullSide } } // Hangar sphere { < 0.0, 0.0, 0.0 > 240.0 texture { TextureInteriorSphere } translate < -500, 0.0, 550.0 > } // Side Cupola sphere { < 0.0, 0.0, 0.0 > 240.0 texture { TextureInteriorSphere } translate < 500, 0.0, 550.0 > } // Side Cupola } object { MidshipHull }