Mac OSX 带有 LWJGL 的 El Capitan 上的 OpenGL 3.3
OpenGL 3.3 on Mac OSX El Capitan with LWJGL
我目前正在尝试在 2014 年中期在我的 Macbook Pro 上的 LWJGL 3 中创建一个 OpenGL 3.3 上下文。我初始化 window 的源代码如下所示:
if (!glfwInit()) {
Logger.addError("GLFW", "init failed");
}
glfwDefaultWindowHints();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_CORE_PROFILE, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
// glfwWindowHint(GLFW_SAMPLES, 2);
ID = glfwCreateWindow(width, height, title, 0, 0);
if (ID == 0) {
Logger.addError("GLFW", "window creation failed");
}
遗憾的是 GLFW 无法为高于 2.1 的任何版本创建 window,版本 glGetString(GL_VERSION)
returns 遗漏了 window 提示...
我通读了所有 "duplicate" 问题,但如您所见,我已经请求核心配置文件和向前兼容性。此外,我安装了 XCode 并拥有最新版本的操作系统。你们还有其他建议吗?或者我理解错了什么?
提前致谢...
请注意,LWJGL 3 afaik 中没有 "GLFW_OPENGL_PROFILE"
标志,因此我无法从官方 GLFW 入门页面 1:1 复制代码。将 "GLFW_OPENGL_CORE_PROFILE"
标志设置为 true 在 windows 上起作用,但因此这不可能是制造麻烦的错误...
您设置核心配置文件的方式 window 提示不正确。而是使用:
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
GLFW_OPENGL_PROFILE
specifies which OpenGL profile to create the context for. Possible values are one of GLFW_OPENGL_CORE_PROFILE
or GLFW_OPENGL_COMPAT_PROFILE
, or GLFW_OPENGL_ANY_PROFILE
to not request a specific profile. If requesting an OpenGL version below 3.2, GLFW_OPENGL_ANY_PROFILE
must be used. If OpenGL ES is requested, this hint is ignored.
我目前正在尝试在 2014 年中期在我的 Macbook Pro 上的 LWJGL 3 中创建一个 OpenGL 3.3 上下文。我初始化 window 的源代码如下所示:
if (!glfwInit()) {
Logger.addError("GLFW", "init failed");
}
glfwDefaultWindowHints();
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_CORE_PROFILE, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
// glfwWindowHint(GLFW_SAMPLES, 2);
ID = glfwCreateWindow(width, height, title, 0, 0);
if (ID == 0) {
Logger.addError("GLFW", "window creation failed");
}
遗憾的是 GLFW 无法为高于 2.1 的任何版本创建 window,版本 glGetString(GL_VERSION)
returns 遗漏了 window 提示...
我通读了所有 "duplicate" 问题,但如您所见,我已经请求核心配置文件和向前兼容性。此外,我安装了 XCode 并拥有最新版本的操作系统。你们还有其他建议吗?或者我理解错了什么?
提前致谢...
请注意,LWJGL 3 afaik 中没有 "GLFW_OPENGL_PROFILE"
标志,因此我无法从官方 GLFW 入门页面 1:1 复制代码。将 "GLFW_OPENGL_CORE_PROFILE"
标志设置为 true 在 windows 上起作用,但因此这不可能是制造麻烦的错误...
您设置核心配置文件的方式 window 提示不正确。而是使用:
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
GLFW_OPENGL_PROFILE
specifies which OpenGL profile to create the context for. Possible values are one ofGLFW_OPENGL_CORE_PROFILE
orGLFW_OPENGL_COMPAT_PROFILE
, orGLFW_OPENGL_ANY_PROFILE
to not request a specific profile. If requesting an OpenGL version below 3.2,GLFW_OPENGL_ANY_PROFILE
must be used. If OpenGL ES is requested, this hint is ignored.