Я реализую камеру от первого лица для проекта OpenGL, над которым работаю, и когда я пытаюсь получить разницу в положении мыши в каждом кадре, кажется, что она каким-то образом не вычитается, а вместо этого меняет отклонение камеры на сотни раз. градусов. Как ни странно, похоже, это не влияет на высоту звука, поскольку, насколько я могу судить, я могу нормально смотреть вверх и вниз. Возможно, это как-то связано с вертикальным зажимом, но это, вероятно, не разблокирует вращение волшебным образом, если бы он вращался.
Код: Выделить всё
double newMouseX, newMouseY, oldMouseX, oldMouseY;
glfwGetCursorPos(getWindow(), &newMouseX, &newMouseY);
if(pitch > 90) pitch = 90;
if(pitch < -90) pitch = -90;
double dx = (newMouseX - oldMouseX);
double dy = (newMouseY - oldMouseY);
yaw += dx * 0.2f;
pitch += dy * 0.2f;
oldMouseX = newMouseX;
oldMouseY = newMouseY;
I've tried using
Код: Выделить всё
float
Код: Выделить всё
double
Источник: https://stackoverflow.com/questions/781 ... ra-to-spin