即使 glfwInit() 返回 1 也无法让 GLFW 工作
Can't get GLFW to work even if glfwInit() returns 1
我已经设置了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);
}
}
同样在这个循环之前,我初始化我的GLFW
:
// Initialize GLFW
if( !glfwInit() )
{
exit( EXIT_FAILURE );
}
glfwSetKeyCallback(processKeys);
// Main message loop:
int loopRet = g_pGameAppLayer->mainLoop();
当我检查保存在x
和y
变量中的值时,我只得到-858993460,这表明没有值传递给它们。
那么,在设置GLFW
时,我缺少什么呢?
您的问题在这里:
之后,我应该能够——例如——在我按下键盘上的键后调用回调函数
不,你不应该。在使用GLFW创建窗口之前,您无法获得输入。这通常适用于许多开窗系统;只有当你有一个窗口时,你才能得到输入。
相关文章:
- QSqlquery prepare()和bindvalue()不工作
- 导入库可以跨dll版本工作吗
- 以螺旋方式打印矩阵的程序.(工作不好)
- 对象指针在c++中是如何工作的
- 为什么在Windows上的VS 2019和Clang 9中"size_t"在没有标题的情况下工作
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- C++为线程工作动态地分割例程
- 为什么我的 std::ref 无法按预期工作?
- 布尔比较运算符是如何在C++中工作的
- SampleConsensusPrerejective(ext.RANSAC)是如何真正工作的
- 增量时间无法在 GLFW 中正常工作
- OpenGL代码在GLFW上工作,但在QT OpenGL上不起作用
- 在我的工作目录中使用 glfw -3.2.1,如何使用 makefile 使用它进行编译
- GLFW无法在Visual Studio社区中工作
- 正在安装GLFW 3.0,但无法在Visual Studio中工作
- 即使 glfwInit() 返回 1 也无法让 GLFW 工作
- GLFW 输入处理未按预期工作
- openGL, GLFW, 1281错误在glShaderSource上,下一个glShaderSource工作得很好
- GLFW链接不能正常工作与mingw32在c++ (?)