制作平滑的OpenGL鼠标相机

制作平滑的OpenGL鼠标相机,opengl,camera,mouse,Opengl,Camera,Mouse,因此,我浏览了一些相机类,它们似乎都没有解决这样一个事实,即即使你的鼠标碰到屏幕边缘,你也应该能够保持旋转。过去我一直在做一项黑客工作来让它工作,但我想知道实际操作的正确方法是什么。最好的方法是在鼠标移动时将鼠标光标重新定位到屏幕中心,当然也要隐藏它。最好的方法是使用鼠标api,它可以为您提供相对和绝对的鼠标移动。 “绝对”是当前光标位置,“相对”是指当前位置和先前位置之间的差异。对于旋转相机(当光标位于边缘时),应使用“相对”鼠标移动 SDL可以做到这一点(但前提是它“抓取”了鼠标),Dire

因此,我浏览了一些相机类,它们似乎都没有解决这样一个事实,即即使你的鼠标碰到屏幕边缘,你也应该能够保持旋转。过去我一直在做一项黑客工作来让它工作,但我想知道实际操作的正确方法是什么。

最好的方法是在鼠标移动时将鼠标光标重新定位到屏幕中心,当然也要隐藏它。

最好的方法是使用鼠标api,它可以为您提供相对和绝对的鼠标移动。 “绝对”是当前光标位置,“相对”是指当前位置和先前位置之间的差异。对于旋转相机(当光标位于边缘时),应使用“相对”鼠标移动


SDL可以做到这一点(但前提是它“抓取”了鼠标),DirectInput也可以做到这一点。不过,我不记得是否可以通过标准系统API获得“相对光标移动”数据。

实际上隐藏光标会更好。“它们似乎都不能解决这样一个事实,即即使鼠标碰到屏幕边缘,也应该能够保持旋转。”那是因为发生在鼠标上的事情不是相机的责任。此外,大多数鼠标输入系统提供的是delta,而不仅仅是绝对位置。所以鼠标是否在屏幕边缘对他们来说并不重要。啊,对。我已经忘记了这一点,或者把鼠标放在屏幕中央,因为当我尝试它时,它在SFML中无法工作,谢谢。