我正在尝试通过我的OpenGL应用程序中的gluLookAt移动相机,类似于相机在FPS游戏中的移动方式。但是,它可以工作,我想在移动鼠标后居中,以禁止鼠标到达屏幕边缘。在做了一些研究后,我发现glutWarpPointer是一个可行的选择,但是,我觉得专业游戏开发人员只使用基本的OpenGL命令,而不是像glutWarpPointer,glutSolidCube或glutSolidSphere这样的东西。我假设这是正确的吗?
在我的WndProc函数中,我在switch块中的WM_MOUSEMOVE消息下设置了gluLookAt的外观。我也意识到SendInput会实现我想要的,但是根据我的理解,当光标移动到屏幕中间时,SendInput会触发另一个WM_MOUSEMOVE,基本上会反转我原来的鼠标移动,而不是移动相机的外观。 / p>
有什么想法吗?
编辑:我认为不存在不调用WM_MOUSEMOVE消息的函数。我认为正确的路线是创建一个标志,确定是否由SetCursorPos调用WM_MOUSEMOVE,如果是,则不要更改相机的外观。