【发布时间】:2013-05-25 11:16:47
【问题描述】:
我正在尝试在 Lion 上设置 OpenGL 3.2 上下文。我有这个代码来设置窗口:
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3);
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
if (!glfwInit())
return -1;
if (!glfwOpenWindow(640, 480, 8, 8, 8, 0, 0, 0, GLFW_WINDOW))
return -1;
glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
// Get OpenGL details
int major, minor, rev;
glfwGetGLVersion(&major, &minor, &rev);
std::cout << "GL Version: " << major << "." << minor << "." << rev << std::endl;
GL 版本发布为 2.1,尽管我运行的是 OS X Lion 和显然支持 3.2 的 AMD Radeon 6750M。另外,我运行了这段 C 代码here,它返回了 3.2。我正在使用 GLFW 2.7.8。有谁知道这里发生了什么?
【问题讨论】:
-
GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE请停止这样做。 -
您运行它的 PC 是否具有集成 GPU 和专用 GPU?如果是这样,您可能需要明确告诉 AMD 驱动程序使用您的主卡。
-
@NicolBolas 为什么他不应该将 GLFW_OPENGL_FORWARD_COMPAT 设置为 GL_TRUE?
-
@FullFrontalNudity - 是的,还有英特尔 HD3000。我如何告诉它使用 6750M?
标签: c++ macos opengl osx-lion glfw