为什么我的OpenGL版本在Mac OS X上总是2.1?

时间:2013-10-29 12:51:30

标签: macos opengl glfw

我在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不同。

https://developer.apple.com/graphicsimaging/opengl/capabilities/GLInfo_1085_Core.html

...

现在我的操作系统已经升级到10.9,而OpenGL版本仍然是2.1。

它仍然无法编译GLSL 3.3,而Apple表示它支持4.1。

https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:22)

在创建窗口之前,您需要添加“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 );