private bool HandleInput(DInput input, float frameTime)
        {
            // Set the frame time for calculating the updated position.
            Position.SetFrameTime(frameTime);

            // Handle the input
            bool keydown = input.IsLeftArrowPressed();

            Position.TurnLeft(keydown);
            keydown = input.IsRightArrowPressed();
            Position.TurnRight(keydown);
            keydown = input.IsUpArrowPressed();
            Position.MoveForward(keydown);
            keydown = input.IsDownArrowPressed();
            Position.MoveBackward(keydown);
            keydown = input.IsPageUpPressed();
            Position.LookUpward(keydown);
            keydown = input.IsPageDownPressed();
            Position.LookDownward(keydown);
            keydown = input.IsAPressed();
            Position.MoveUpward(keydown);
            keydown = input.IsZPressed();
            Position.MoveDownward(keydown);

            // Determine if the user interface should be displayed or not.
            if (input.IsF1Toogled())
            {
                DisplayUI = !DisplayUI;
            }
            // Determine if the terrain should be rendered in wireframe or not.
            if (input.IsF2Toogled())
            {
                WireFrame = !WireFrame;
            }
            // Determine if we should render the lines around each terrain cell.
            if (input.isF3Toggled())
            {
                CellLines = !CellLines;
            }
            // Determine if we should be locked to the terrain height when we move around or not.
            if (input.isF4Toggled())
            {
                HeightLocked = !HeightLocked;
            }

            // Set the position and rOTATION of the camera.
            Camera.SetPosition(Position.PositionX, Position.PositionY, Position.PositionZ);
            Camera.SetRotation(Position.RotationX, Position.RotationY, Position.RotationZ);

            return(true);
        }