问题标签 [glfw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1383 浏览

windows-7 - 无法在 Windows 7 上使用 Code::Blocks 启动 GLFW

相信我,我已经寻找答案,但我似乎无法解决这个问题:

当我尝试使用CodeBlocks 10.05启动GLFW 2.7项目时,指向安装它的目录时总是出错: (C:\glfw-2.7)

此目录似乎有效,但此向导无法找到以下 GLFW 库文件:glfw 在其中。(还尝试在 lin 前面加上 .a 和 .lib)

我尝试将 gl.h 从 ./include/GL 文件夹复制到“include”和“glfw-2.7”根文件夹中。我还尝试将文件从 lib/win32 复制到父“lib”文件夹中。不管怎样,这个所谓的“向导”都找不到它需要的文件。

有谁知道我还能尝试什么?谢谢!

0 投票
3 回答
15962 浏览

opengl - 使用 glew 和 glfw 的 opengl 的 cmake 标志

我有这个简单的代码:

在我的 CmakeLists.txt 中:

运行“cmake”。不会产生任何错误,但运行 make 会说:

在跑步的时候:

成功编译代码没有错误。如何使 cmake 使用我的代码运行?

另外,如果我将这些行添加到主函数:

即使使用相同的标志运行 gcc 也会产生错误:

我正在运行基于 kubuntu 10.04、cmake v2.8、libglfw-dev、libglfw2、libglew1.5、libglew1.5-dev、glew-utils 的 linux mint。

我是 cmake、glew 和 glfw 的新手。谢谢你们的帮助!

干杯!

0 投票
2 回答
1340 浏览

c++ - 检查蛇是否在游戏中撞到自己

我正在使用 OpenGL 和 GLFW 用 C++ 编写 Snake。我正在尝试实现一个游戏退出的功能,当蛇头撞到它的身体时。这是我编写的 Snake 类的 move() 和 CrashCheck() 函数。x_pos 是一个浮点数组,存储了蛇身的一段 x_coordinate。y_pos 与 y_coordinate 相同。length 是蛇的身体节段数,当蛇吃东西时会增加(尚未实现)。x_speed 和 y_speed 存储沿轴的段的速度。蛇永远不能同时沿着两个轴移动;还,float MAX_S = 0.00075;. 我也包含了我的 draw() 函数。而Fix_Snake_x 和Fix_Snake_y 是重新对齐蛇的片段的函数(因为它们不断分离并对游戏造成严重破坏)。我知道这是纠正问题的愚蠢方法,因此如果您可以在 move() 函数中提出修复建议,那将很有帮助。

编辑:新的移动功能

造成一些问题。蛇打破它有太多的同时转弯。只有前两个块保持运动

0 投票
1 回答
9549 浏览

linux - 在 Linux 上静态构建 glew 和 glfw

在我的项目目录中,我有:

  • ./external/glew,已从源代码编译 glew(运行 make)
  • ./external/glfw,其中 glfw 也是从源代码编译的(运行 make x11)

在我的 .c 源代码中:

我尝试使用 GCC 进行编译:

./external/glew/lib 是 libGLEW.a 所在的位置, ./external/glfw/lib/x11 是 libglfw.a 所在的位置。

它编译没有错误。但后来我尝试运行 ./test1 它给了我:

我如何静态编译 glew 和 glfw?

编辑 1感谢您的帮助。在 stackoverflow 和老 nabble 的一些人的帮助下,我设法写下静态链接 GLFW 和 GLEW 需要做的事情,并将其放在http://www.phacks.net/static-compile-glfw-and-glew /

0 投票
2 回答
4854 浏览

linux - 静态编译glfw

我正在尝试使用 GCC 4.4.3 在 Linux Mint(基于 Ubuntu 10.04)上将 glfw 编译为静态链接。

在我的项目目录中,我得到了包含 glfw 2.7.1 源代码的“external/glfw”。我通过运行“make x11-install”编译它,它给出:

  • /usr/local/include/GL/glfw.h
  • /usr/local/lib/libglfw.a
  • /usr/local/lib/pkgconfig/libglfw.pc

我还在 test.c 中得到了这个简单的代码:

我正在尝试将glfw编译为静态链接并使用带有标志的gcc编译代码:

它不会给我任何错误。但是当我尝试执行二进制文件时,它显示我未能调用 glfwOpenWindow。

有人能帮帮我吗?谢谢你们的时间!

干杯!

编辑1:我认为问题在于链接过程而不是代码。因为如果我安装了 libglfw2 和 libglfw-dev(ubuntu 包),那么可执行文件运行得很好。我在这里想要的是静态链接glfw,而不是依赖发行包共享库来运行二进制文件。

根据 datenwolf 的建议编辑 2 ,我尝试使用 gdb 进行调试。我以前从未使用过 gdb,但我经常使用 perl 调试器。不知何故,他们有很多相似之处。我用-ggdb重新编译glfw和我的test.c。

与gdb一起流动表明我的代码进入了glfwOpenWindow(),它位于glfw源代码的“window.c”中。因为我是 gdb 的新手,所以我不知道如何评估表达式或获取变量的值。基于谷歌上的快速搜索,我只知道“whatis”来查看日期类型。但我认为我的代码在“window.c”中到达第 484 行时停止

现在我不确定为什么使用静态链接 glfw 认为我不在 OpenGL 3.2 及更高版本上,而安装了 libglfw2 它工作得很好?

谢谢你们的帮助!特别是约会狼!

编辑 3感谢您的帮助。在 stackoverflow 和老 nabble 的一些人的帮助下,我设法写下静态链接 GLFW 和 GLEW 需要做的事情,并将其放在http://www.phacks.net/static-compile-glfw-and-glew /

0 投票
1 回答
4585 浏览

c++ - 使用 GLFW 渲染和 WinAPI 处理消息

我想使用 OpenGL 库 GLFW 来渲染窗口,但也想使用 WinAPi 创建控件和处理事件。有没有办法做到这一点?我尝试搜索(谷歌搜索)“使用 glfw 和 winapi”,但没有产生任何结果。我发现唯一符合我要求的页面就是这个,但该页面似乎已经过时,因为 GLFW_WINPAR 不存在。有什么方法可以做我想做的事,还是我必须使用“Vanilla”OpenGL。

0 投票
1 回答
434 浏览

opengl - Haskell OpenGL 无法在 Ubuntu 中打开

这个有点奇怪,但我还是从头说起:

据我所知,有 3 种方法可以在 Haskell 中打开 OpenGL 窗口:GLUT、GLFW 和 SDL。我根本不想使用 GLUT,因为它迫使你使用IORefs 并且基本上只在IOmonad 中工作。所以我尝试了 GLFW 并在我的笔记本电脑上做了一个小东西,它使用 Xubuntu 和 XFCE 桌面系统。

现在我很高兴并将它复制到我的桌面,一个相当新安装的标准 Ubuntu 和 Unity,并且惊讶地什么也没看到。在笔记本电脑上运行良好的 GLFW 代码在打开窗口之前陷入了无限循环。

就在那时,我将其全部移植到了 SDL。相同的代码、相同的窗口和 SDL 崩溃

我已经检查了SDLgears,使用相同的方法打开一个窗口,它工作正常。与其他一些 3D 应用程序相同,并且可以正常启用 OpenGL。

让我感到困惑的是,它在 XUbuntu 下工作,但在 Ubuntu 上却不行。我在这里错过了什么吗?哦,如果有帮助,开窗功能:

0 投票
7 回答
27017 浏览

c++ - 指向作为类成员的函数 - GLFW setKeycallback

我正在编写一个 GLFW 应用程序,其中我将函数调用包装到一个简单的类中。我在设置键回调时遇到问题。我的班级定义为:

执行函数为:

在 Visual Studio 2010 上编译以下代码会出现错误:

error C3867: 'GAME::events': function call missing argument list; use '&GAME::events' to create a pointer to member

使用&GAME::events给出:

error C2664: 'glfwSetKeyCallback' : cannot convert parameter 1 from 'void (__thiscall GAME::* )(int,int)' to 'GLFWkeyfun' 1> There is no context in which this conversion is possible

0 投票
2 回答
4200 浏览

c++ - OpenGL / GLFW 显得透明

使用 opengl 和 glfw 绘制一个简单的立方体时,立方体的面看起来是透明的。这是代码。使用箭头键旋转。我刚刚在我的程序中封装了一个类。使用 Visual C++ Ultimate 2010。

0 投票
1 回答
2666 浏览

c++ - 使用 OpenGL 渲染 3D 对象(.obj 文件)时闪烁

在尝试使用 OpenGL(和 GLFW 库)渲染 3D 对象时,模型会出现大量闪烁。.obj我使用自己编写的库读取文件。

下面写的是我的渲染函数:不幸的是,为了了解面和顶点是如何输入的,我必须提供我所有的代码,这些代码是链接的:压缩代码以及可执行文件和示例.obj源代码

我使用 .obj 文件从这里测试程序。目前,该程序不支持法线和纹理,这不是问题,因为网站上的大多数模型都没有它们。此外,(现在)它只从“123.obj”读取,所以文件不应该被命名为其他任何东西。它只接受一个空格,仅此而已。