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