Pio*_*cki 0 c++ opengl graphics glfw
我已经设置了GLFW库,根据它的用户指南,我应该使用glfwInit()函数来初始化它.之后我应该能够 - 例如 - 在我按下键盘上的键后调用回调函数,但是这个函数没有被调用,所以我尝试了更简单的东西 - 获得鼠标位置.但它也不起作用,所以我认为我的整个GLFW出了问题.
这是我的应用程序的主循环:
while (!m_exit)
{
int x, y;
glfwGetMousePos(&x, &y);
glfwPollEvents();
gameCycle(); // Do one cycle
while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))
{
// Check the pressence of commands
if (!GetMessage (&msg, NULL, 0, 0))
{
return msg.wParam; // Hand the control on to system
}
TranslateMessage (&msg);
DispatchMessage (&msg);
}
}
Run Code Online (Sandbox Code Playgroud)
在此循环之前,我初始化我的GLFW:
// Initialize GLFW
if( !glfwInit() )
{
exit( EXIT_FAILURE );
}
glfwSetKeyCallback(processKeys);
// Main message loop:
int loopRet = g_pGameAppLayer->mainLoop();
Run Code Online (Sandbox Code Playgroud)
当我检查保存在x和y变量中的值时,我只得到-858993460,这表示没有值传递给它们.
那么我在设置中缺少什么GLFW?
你的问题在这里:
之后我应该能够 - 例如 - 在我按下键盘上的键后调用回调函数
不,你不应该.在使用GLFW 创建窗口之前,您无法获得输入.这通常适用于许多窗口系统; 如果你有一个窗口,你只能得到输入.