GLFW 无法在 OSX 中打开窗口
GLFW Fails to Open Window in OSX
我有以下代码:
glfwWindowHint(GLFW_SAMPLES, 4); // 4x antialiasing
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
// Open window and create OpenGL context
GLFWwindow * window;
window = glfwCreateWindow(1024, 768, "OpenGL Testing", NULL, NULL);
if(window == NULL)
{
fprintf(stderr, "Failed to open GLFW Window.n");
glfwTerminate();
return -1;
}
它在Ubuntu和Windows上的桌面上运行良好,但在运行OSX的笔记本电脑上失败。我认为这是笔记本电脑不支持此版本的OpenGL的问题,但它支持高达4.1的视频卡。
我认为它可能使用的是集成的英特尔 GPU 而不是 nVidia,但据我所知,GLFW 将强制正确的 GPU 进行渲染。
如果我将上下文更改为 2.1,一切似乎都有效,但着色器不兼容。
有什么想法吗?
更新:如果删除所有glfwWindowHint()
调用,则会创建窗口,但着色器不兼容。我假设如果删除这些,GLFW 会自动选择一个上下文,这恰好与带有version 330 core
的着色器不兼容。
问题归结为在 GLFW 中设置向前兼容标志。这个答案导致了拨打以下电话的答案:
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
这也显示在GLFW常见问题解答中。
相关文章:
- 如何在Qt窗口小部件中使用QStringView(或QStringRef)
- 问:如何使用C++中的按钮从窗口打开窗口
- SDL 窗口不会弹出
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 如何在cpp文件之间切换窗口?在Qt中
- QuadTree只在窗口的右上角绘制
- VS Code "command":"make"与终端窗口中的命令行"make"不同
- 如何在C++中找到active directory中禁用和锁定的窗口帐户
- 在 OSX 上打开 SDL 窗口时不要打开终端窗口
- 如何在Mac OSX上的窗口客户端内获取真实的鼠标位置?
- OSX窗口捕获
- 如何在OSX中执行时强制Qt应用程序成为活动/前台窗口
- 如何在 OSX 上创建一个用于C++的窗口
- 如何在OSX中使用C++opencv highgui将活动窗口设置为opencv图像
- OSX: GLUT窗口永远不会出现
- Gtkmm 无法在 OSX 上打开应用程序窗口
- 如何在mac osx中隐藏终端窗口
- 在OSX上浮动没有标题栏的GLUT窗口
- 过剩窗口菜单栏在MAC OSX
- GLFW 无法在 OSX 中打开窗口