public Galaxy(Vector3 Position) : base() { Body.CreateUVSphere(32, 32, out ModelVertices, out ModelIndices); effect = Manager.TexturedEffect; GalaxyTexture = Manager.GeneratePerlinNoise(MyGame.random.Next(10, 25)); GalaxyTexture = Manager.SpiralWarp(GalaxyTexture); Color[] colorScheme = Manager.GenerateStaticNoise(5, 5); ColorMap = new Texture2D(MyGame.graphics.GraphicsDevice , 5 , 5); ColorMap.SetData <Color>(colorScheme); RotationAxis = Manager.GetRandomNormal(); RotationTime = (float)MyGame.random.NextDouble(); Bounds = new BoundingSphere(Position, 10000.0f); this.Transforms = new ScalePositionRotation( 100.0f , Position , Matrix.CreateFromAxisAngle(RotationAxis, RotationTime)); Mass = 1000.0f * (float)(4.0 / 3.0 * Math.PI * Math.Pow(Transforms.Scale, 3.0)); }