当前位置: 首页 > 知识库问答 >
问题:

带有LWJGL的Mac OSX El Capitan上的OpenGL 3.3

逄征
2023-03-14

我目前正试图在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");
}

遗憾的是,GLFW无法为高于2.1的任何版本创建窗口,当忽略窗口提示时,版本glGetString(GL\U版本)返回<我通读了所有的“重复”问题,但正如你所见,我已经要求核心配置文件和转发兼容性。此外,我安装了XCode,拥有最新版本的操作系统。你们还有什么其他的建议吗?或者我有没有理解出什么可怕的错误?提前感谢。。。

请注意,LWJGL 3 afaik中没有“GLFW\u OPENGL\u PROFILE”标志,因此我无法从正式的GLFW入门页面1:1复制代码。将“GLFW\u OPENGL\u CORE\u PROFILE”标志设置为true在windows上有效,尽管这不会是制造麻烦的错误。。。

共有1个答案

方璞
2023-03-14

您设置core profile窗口提示的方式不正确。相反,请使用:

glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

来自GLFW留档:

GLFW_OPENGL_PROFILE指定要为哪个OpenGL配置文件创建上下文。可能的值是GLFW_OPENGL_CORE_PROFILEGLFW_OPENGL_COMPAT_PROFILE之一,或GLFW_OPENGL_ANY_PROFILE不请求特定配置文件。如果请求低于3.2的OpenGL版本,则必须使用GLFW_OPENGL_ANY_PROFILE。如果请求OpenGL ES,则忽略此提示。

 类似资料:
  • 你好。 我正在用vim用lwjgl编程一个游戏,我试图用jdb调试,但我遇到了一些问题。 首先,我向你展示我项目的树。(主要类是Engine.java)。 我正在使用javac调试选项用ant编译我的项目。这里是编译部分。xml文件: 当我试图调试应用程序时,问题就出现了。我阅读了手册页,看到有一个类路径选项。因为我使用的是lwjgl,所以我需要包含到的路径。类文件。 我正在从项目的根目录执行此代

  • 在我将所有本机库链接到每个引用库并按照http://ninjacave.com/lwjglwitheclipse的说明操作之后,该错误仍然存在

  • 问题内容: 我无法将JDBC连接到我的数据库,出现以下错误 问题答案: 根据stacktrace的说明,您使用的MySQL Connector / J版本使用的是Android不支持的功能(可能是named组)。解决方法是使用MySQL Connector / J的5.1.x版本而不是8.0.x版本。 但是,您不应使用Android应用程序中的JDBC。它是不安全的,并且通常无法直接连接到数据库。

  • 在这些日子里,我正在尝试部署我的Spring Boot OAuth2项目。它有3个不同的模块。(身份验证服务器,资源服务器和前端)身份验证和资源服务器有自己的*.yml文件配置,如mongodb名称-端口,服务器配置文件-IP等。我正在尝试做什么?我想在docker上部署Spring Boot应用程序,但我不想把我的数据库(mongodb)作为容器放在docker上。我不确定这种结构是否可行?因为

  • 问题内容: 我想使用WebClient类将文件上传到主机。我还想传递一些应该在服务器部分(PHP)的$ _POST数组中显示的值。我想一口气做 我用过下面的代码 如果我使用QueryString属性,则$ _GET数组中显示的值。但我想通过post方法发送它 问题答案: 没有内置功能可让您执行此操作。我已经在博客中发布了可以使用的扩展程序。以下是相关的类: 现在您可以在应用程序中使用它: 现在,在