public void DrawWorld(SpriteBatch spriteBatch)
        {
            var camPos       = Camera.GetPosition() + Camera.GetOrigin();
            var viewDistance = Graphics.PresentationParameters.BackBufferWidth / (Camera.Zoom * Camera.GetZoomFromZ(Camera.Z, 0f));

            for (var i = 0; i <= Asteroids.LastActiveIndex; i++)
            {
                var asteroid = Asteroids[i];
                var distance = Vector2.Distance(asteroid.Position, camPos);

                // quick hack to do view culling
                if (distance < viewDistance)
                {
                    asteroid.Draw(spriteBatch);
                }
            }

            PlayerEntity.Draw(spriteBatch);

            for (var i = 0; i < Ships.Count; i++)
            {
                var ship     = Ships[i];
                var distance = Vector2.Distance(ship.Position, camPos);

                // quick hack to do view culling
                if (distance < viewDistance)
                {
                    ship.Draw(spriteBatch);
                }
            }
        }