17

我在 Mac OS X 10.8 上使用 GLFW 3.0,显卡是 Intel HD Graphics 5000

我的 OpenGL API 版本是 2.1,由

glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MAJOR);
glfwGetWindowAttrib(window, GLFW_CONTEXT_VERSION_MINOR);

编译选项:

g++ ... -framework OpenGL -framework Cocoa -framework IOKit ...

标题:

#include <GLFW/glfw3.h>
#include <GL/glu.h>

版本始终为 2.1,与报告的 3.2不同。我的操作系统已经升级到10.9,OpenGL版本还是2.1。

它仍然无法编译 GLSL 3.3,而Apple 表示它支持 4.1。如何访问更高版本的库?

4

1 回答 1

30

您需要在创建窗口之前添加“forward_compat”和“core_profile”提示。

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwCreateWindow(640, 480, "Hello World", NULL, NULL );
于 2013-10-30T12:41:15.010 回答