GLFW无法检测到GLFW窗口外的鼠标移动

时间:2019-05-20 19:59:07

标签: c++ visual-studio opengl glfw

glfwSetCursorPosCallback()仅在鼠标位于窗口内部时运行。如果在GLFW窗口之外,则无法检测到鼠标移动。

今天早些时候,我可以正常使用此功能,但是在过去的几个小时中,我一直陷入困境以试图发现问题。

static void cursorPositionCallback(GLFWwindow* window, double xpos, double ypos)
{
 std::cout << xpos << " : " << ypos << std::endl;
}

.......

 while (!glfw.WindowShouldClose())  
 {
     shader.ClearBuffers(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
     glfw.ResizeWindow(MVP); 
     glfwSetCursorPosCallback(glfw.GetWindowID(), cursorPositionCallback);
     Cube_IBO.DrawElementsInstanced(CubeIndices.size(), 2);
     glfw.SwapBuffers(); 
 }

GLFW文档指出“此函数设置指定窗口的光标位置回调,在移动光标时会调用它。”

Windows 10, Visual Studio 16.0.4, GLFW版本3.3

0 个答案:

没有答案