Я пытаюсь переместить камеру через gluLookAt в моем приложении OpenGL, аналогично тому, как камера движется в FPS-игре. Это работает, однако, я хотел бы отцентрировать мышь после ее перемещения, чтобы запретить мыши когда-либо достигать края экрана. Проведя некоторые исследования, я обнаружил, что glutWarpPointer является приемлемым вариантом, однако у меня возникает ощущение, что профессиональные разработчики игр используют только базовые команды OpenGL, а не что-то вроде glutWarpPointer, или glutSolidCube, или glutSolidSphere. Правильно ли я предположил это?
В моей функции WndProc я установил внешний вид моего gluLookAt в сообщении WM_MOUSEMOVE в моем блоке переключателей. Я также понимаю, что SendInput достиг бы того, чего я хочу, но из моего понимания SendInput вызовет еще один WM_MOUSEMOVE, когда курсор переместится в середину экрана, по сути, полностью изменив мое первоначальное движение мыши, и вообще не переместив взгляд камеры.
Есть идеи?
Редактировать: я не думаю, что существует функция, которая не вызывает сообщение WM_MOUSEMOVE. Я думаю, что правильный путь - создать флаг, который определяет, был ли WM_MOUSEMOVE вызван SetCursorPos, и если это было так, не изменяйте внешний вид камеры.