#include "colors.inc" #include "stars.inc" #macro _color( _r, _g, _b ) rgb < _r, _g, _b > / 255 #end #declare rings = union { torus { 75, 2 scale < 1, .005, 1 > } torus { 78, .5 scale < 1, .02, 1 > } torus { 87, 5 scale < 1, .002, 1 > } torus { 95, .25 scale < 1, .04, 1 > } torus { 100, .5 scale < 1, .02, 1 > } } #declare RingTexture = texture { pigment { bozo turbulence 0.65 octaves 6 omega 0.7 lambda 4 color_map { [ 0.1 color rgb <1, 1, 1> ] [ 0.6 color rgb <.8, .8, .8> ] [ 0.85 color rgbt <1, 1, 1, 1> ] [ 1.0 color rgbt <1, 1, 1, 1> ] } } finish { reflection .2 diffuse .4 } } #declare r1 = seed( 0 ); #declare CloudBand1 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.33 color _color( 127, 070, 006 ) ] [ 0.67 color _color( 188, 118, 037 ) ] [ 1.0 color _color( 150, 108, 060 ) ] } } #declare CloudBand2 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.05 color _color( 219, 143, 013 ) ] [ 0.1 color _color( 242, 158, 014 ) ] [ 0.5 color _color( 153, 102, 015 ) ] [ 1.0 color _color( 242, 190, 101 ) ] } } #declare CloudBand3 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.25 color _color( 239, 133, 011 ) ] [ 0.50 color _color( 248, 176, 097 ) ] [ 1.0 color _color( 249, 184, 109 ) ] } } #declare CloudBand4 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.33 color _color( 181, 089, 019 ) ] [ 0.67 color _color( 226, 129, 054 ) ] [ 1.0 color _color( 132, 079, 038 ) ] } } #declare otherworldTexture = texture { pigment { color Copper } pigment { gradient y turbulence .33 pigment_map { [ 0.15 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.16 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.22 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.23 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.29 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.3 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.4 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.41 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.45 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.46 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.54 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.55 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.7 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.71 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.78 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.79 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.84 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.85 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 1.0 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] } #declare _warper = 0; #while (_warper < 50 ) #declare xzangle = rand(r1) * pi * 2; #declare yzangle = rand(r1) * pi * 2; #declare new_rad = cos( yzangle ); #declare _y = sin( yzangle ); #declare _x = cos( xzangle ) * new_rad; #declare _z = sin( xzangle ) * new_rad; warp { black_hole < _x, _y, _z >, rand( r1 ) * .1 + .1 } #declare _warper = _warper + 1; #end } } #declare CloudBand1 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.33 color _color( 038, 132, 079 ) ] [ 0.67 color _color( 042, 191, 106 ) ] [ 1.0 color _color( 007, 145, 067 ) ] } } #declare CloudBand2 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.05 color _color( 079, 198, 145 ) ] [ 0.1 color _color( 013, 165, 097 ) ] [ 0.5 color _color( 070, 160, 120 ) ] [ 1.0 color _color( 034, 117, 079 ) ] } } #declare CloudBand3 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.33 color _color( 013, 170, 063 ) ] [ 0.67 color _color( 048, 147, 080 ) ] [ 1.0 color _color( 060, 216, 110 ) ] } } #declare CloudBand4 = pigment { bozo turbulence 1 octaves 6 omega 0.7 lambda 3 color_map { [ 0.33 color _color( 025, 181, 123 ) ] [ 0.67 color _color( 062, 132, 106 ) ] [ 1.0 color _color( 055, 178, 133 ) ] } } #declare thisworldTexture = texture { pigment { color Copper } pigment { gradient y turbulence .33 pigment_map { [ 0.15 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.16 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.22 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.23 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.29 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.3 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.4 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.41 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.45 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.46 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.54 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.55 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.7 CloudBand1 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.71 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.78 CloudBand4 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.79 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.84 CloudBand2 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 0.85 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] [ 1.0 CloudBand3 rotate < 1, .1, 1 > * rand(r1) * 360 ] } #declare _warper = 0; #while (_warper < 50 ) #declare xzangle = rand(r1) * pi * 2; #declare yzangle = rand(r1) * pi * 2; #declare new_rad = cos( yzangle ); #declare _y = sin( yzangle ); #declare _x = cos( xzangle ) * new_rad; #declare _z = sin( xzangle ) * new_rad; warp { black_hole < _x, _y, _z >, rand( r1 ) * .1 + .1 } #declare _warper = _warper + 1; #end } } #declare otherworld = union { object { rings texture { RingTexture } } sphere { < 0, 0, 0 >, 60 texture { otherworldTexture scale 50 } } scale 10 } #declare thisworld = sphere { < 0, 0, 0 >, 10 texture { thisworldTexture } } camera { location < 0, .01, -230 > look_at < 0, 5, 0 > } light_source { < -1000, 1000, -1000 > White * 2 } sphere { < 0, 0, 0 >, 10000 hollow texture { Starfield3 scale 1000 finish { ambient 1.5 diffuse 0 } } } object { otherworld rotate x * -70 rotate y * 30 translate < 150, 250, 1900 > } object { thisworld translate < 0, -10, -230 > } #include "enterprise-e.inc" object { enterprise_e rotate x * 270 rotate y * 80 rotate x * -60 scale .00005 translate < -.01, .009, -229.975 > }