private void RenderBGPointer()
    {
        Viewport view = new Viewport();

        view.Width  = 128;
        view.Height = 128;
        view.MaxZ   = 1.0f;

        Matrix currentViewMatrix = device.Transform.View;

        rts.BeginScene(renderSurface, view);
        device.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0);
        if (playerShip.State == ShipState.Normal &&
            opponentShip.State == ShipState.Normal)
        {
            Matrix pointerViewMatrix = Matrix.Translation(0, 2, -15);
            pointerViewMatrix    *= playerShip.Position.WorldMatrix;
            device.Transform.View = Matrix.Invert(pointerViewMatrix);

            bgPointer.Render();
            drawingFont.DrawText(2, 2, Color.LimeGreen, "Range: " + range.ToString());
        }
        rts.EndScene(Filter.Linear);
        device.Transform.View = currentViewMatrix;
    }