Pru*_*rca 3 java opengl lwjgl glfw
我目前正在尝试在2014年中的Macbook Pro上的LWJGL 3中创建OpenGL 3.3上下文。用于初始化窗口的源代码如下所示:
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");
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,GLFW无法为任何高于2.1的版本创建窗口,该版本会在忽略glGetString(GL_VERSION)窗口提示时返回……
我通读了所有“重复”的问题,但是正如您所看到的,我已经请求核心配置文件并具有向前兼容性。此外,我安装了XCode并拥有最新版本的操作系统。你们还有其他建议吗,或者我了解严重错误吗?提前致谢...
请注意,"GLFW_OPENGL_PROFILE"LWJGL 3 afaik中没有标志,因此我无法从官方GLFW入门页面1:1复制代码。将"GLFW_OPENGL_CORE_PROFILE"标记设置为true可以在Windows上运行,因此这不能成为导致麻烦的错误...
您设置核心配置文件窗口提示的方式不正确。而是使用:
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
Run Code Online (Sandbox Code Playgroud)
从GLFW文档中:
GLFW_OPENGL_PROFILE指定要为其创建上下文的OpenGL配置文件。可能的值是GLFW_OPENGL_CORE_PROFILE或之一GLFW_OPENGL_COMPAT_PROFILE,或者GLFW_OPENGL_ANY_PROFILE是不请求特定配置文件的值。如果要求低于3.2的OpenGL版本,则GLFW_OPENGL_ANY_PROFILE必须使用。如果请求OpenGL ES,则忽略此提示。