Это вопрос расчета в обратном направлении. Из вектора front
вы сможете легко вывести относительные значения yaw
и pitch
.
Если ваша система координат имеет x и z в качестве пола
yaw = atan2(front.z, front.x);
Шаг может быть рассчитан путем нормализации front
и использования asin
front.normalize();
pitch = asin(front.y);
Если у меня будет время позже, я посмотрю на вычисление roll
В противном случае шокировал хорошим предложением использовать gluLookAt