问题标签 [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 回答
579 浏览

opengl - 如何在 Haskell 的 OpenGL 中调整渲染深度?

我正在尝试使用 OpenGL 在 Haskell 的 3D 空间中渲染一些对象。不过,我不知道如何在 Z 维度上渲染形状。调整三角形点的值会导致它不渲染。(是否有glEnable我缺少的等效项来设置深度缓冲区?)

这是代码(为简洁而编辑):

0 投票
2 回答
1958 浏览

c++ - C++11使用 OpenGL 进行多线程渲染可防止主线程读取标准输入

它似乎与平台相关(适用于我的笔记本电脑上的 Ubuntu 12.04,不适用于我的工作站上的另一个 Ubuntu 12.04)。

这是一个关于我用两个线程做什么的示例代码。

这是我的编译参数:

我的笔记本电脑运行这个程序,如下所示:

工作站只输出:

它只是简单地忽略了我的输入(另一个程序与 glew 和 glfw 相同的程序,只是跳出主线程中的 while 循环,而不读取我的输入。)但是这个东西在 gdb 上正常工作!

知道发生了什么吗?

更新

在其他机器上进行更多测试后,NVIDIA的驱动程序导致了这个。同样的事情发生在其他带有 NVIDIA 显卡的机器上。

0 投票
1 回答
3559 浏览

opengl - 关于低于 GL 3.2 的 GLFW 行为的问题

按照本教程开始学习opengl,我有以下源代码:

这总是会产生“无法打开 GLFW 窗口”错误。我下载了源代码以查看是否可以编译并将差异缩小到GLFW_OPENGL_VERSION_MINOR变量。

如果将次要设置为 2 或 3,则程序可以编译并运行良好,但如果设置为 1,则不会。这是 GLFW 中的错误还是这里发生了什么有趣的事情?

glfw 源代码中 window.c 的第 487 行说:

如果这是原因(看起来确实如此),这究竟意味着什么,为什么它会阻止创建窗口?

0 投票
3 回答
2225 浏览

opengl - 在 OSX Lion 上使用 OpenGL 3.2 和 Derelict3 和 GLFW 3

我无法使用 Derelict3 和 GLFW 3 在 Lion (osx 10.7.4) 上运行 OpenGL 3.2。

这是我的测试程序:

我得到这个输出:

我已经检查过了,看来我的显卡应该支持 OpenGL 3.3

0 投票
2 回答
8338 浏览

opengl - 打开全屏 OpenGL 窗口

我正在尝试在 linux red-hat 上使用 GLFW 打开一个 OpenGL 全屏窗口。我有一个跨越两台显示器的桌面,总分辨率为 3840*1080。

我有两个问题: 1. 窗口只在一台显示器上打开,最大窗口宽度为 1920(单个显示器的宽度)。2、窗口最大高度为1003(我认为是屏幕高度减去任务栏和顶栏高度)。

这是我用来打开窗口的代码:

输出:宽度 = 1920 高度 = 1003

编辑:我使用 xrandr 检查可用的屏幕模式并得到:

屏幕 0:最小 3840 x 1080,当前 3840 x 1080,最大 3840 x 1080 默认连接 3840x1080+0+0 0mm x 0mm 3840x1080 50.0*

EDIT2:我已更改代码以使用 X11 打开窗口

输出是:

似乎当窗口显示时,它的大小会缩小。

0 投票
1 回答
390 浏览

opengl - Haskell 错误:不在范围内:`GLFW.windowIsOpen'

我可以在文档中找到它。

但是,每当我编译时,都会出现范围错误。

这是我的代码:

0 投票
1 回答
11489 浏览

opengl - glGenBuffers() 因分段错误而崩溃。(C++/GLFW/GLEW)

因此,在我的项目中,我使用一个单独的类来创建名为 Buffer.cpp 的缓冲区。这是构造函数

以及成员的定义:

问题是,当我尝试使用例如此命令生成缓冲区时:

程序在 glGenBuffers() 处崩溃,终止状态为“-1073741819”。我尝试调试程序,这就是我得到的:

我的卡支持 OpenGL 1.5,所以情况并非如此。

还值得注意的是,我自己编译了一个静态 glew 库。

编辑:我终于解决了这个问题。问题是我在创建 OpenGL 渲染上下文之前调用了 glewInit() 。

0 投票
3 回答
26906 浏览

c++ - GLFW 获取屏幕高度/宽度?

使用 OpenGL 玩了一段时间,使用 freeglut 库,我决定在我的下一个培训项目中使用 GLFW,因为我被告知 GLUT 仅用于学习目的,不应该用于专业用途。我将 lib 链接到我的 NetBeans 项目没有任何问题,并且使用 mingw32 4.6.2 编译得很好。

但是,我在尝试将窗口定位在屏幕中央时遇到了困难。在freeglut下,我之前用过:

我找不到任何会返回屏幕大小或宽度的 glfw 函数。这样的功能根本没有实现吗?

0 投票
1 回答
3921 浏览

c++ - OpenGL 3.3 GLX_ARB_create_context_profile 在带有 bumblebee 的 Linux 上不可用

我在使用 glfw 设置 OpenGL 3.3 应用程序时遇到问题。我明白了

当我尝试通过 optirun 运行我的应用程序时出错(我有 Nvidia Optimus 卡,所以没有其他方法)。其他 OpenGL > 3.3 应用程序适用于 optirun(unigine Heaven)...这是我尝试运行的代码,这是"optirun glxinfo" 的结果

0 投票
0 回答
234 浏览

haskell - 调试 GLFW 显示设置

在我的项目中,我想GLFW用于窗口支持。它在我的笔记本电脑和办公室 PC 上运行良好,但我的家用桌面不允许我打开窗口(它们都是 Ubuntu 12.04)。我也尝试过GLUT,这至少给了我一条错误消息,但我能发现的只是 X-Server 不支持窗口的设置(带有 的东西glXChooseFBConfig)。

但是,我能够使用 SDL 打开一个窗口。现在我很好奇为什么 SDL 可以打开 OpenGL 窗口,而 GLUT 和 GLFW 却不能。如何在 Haskell 程序中调试这些图形设置?这甚至有可能弄清楚还是我必须简单地接受它?

我在这个桌面上有很多游戏,并且从来没有遇到过 OpenGL 的任何问题。这里有什么不同?