You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac平台IntelliJ中OpenGL版本不兼容问题求助

解决GLSL版本不支持及Layout语法错误问题

你的问题根源在于GLFW没有明确请求OpenGL 4.6核心上下文,导致系统默认创建了兼容旧版本的上下文——即使显卡硬件支持4.6,也无法启用对应版本的GLSL特性。

修复步骤

修改GLFW的窗口配置代码,添加版本和Profile指定:

//initialize GLFW
if(!glfwInit()){
   throw new IllegalStateException("Unable to initialize GLFW.");
}

//configure GLFW - 替换原配置为以下内容
glfwDefaultWindowHints();
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);
glfwWindowHint(GLFW_MAXIMIZED, GLFW_TRUE);
// 指定OpenGL版本为4.6
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6);
// 启用核心模式(高版本特性依赖该模式)
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
// 针对Intel显卡/特定驱动的兼容性设置(建议添加)
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE);

//create the window
glfwWindow = glfwCreateWindow(this.width, this.height, this.title, NULL, NULL);
if(glfwWindow == NULL) {
    throw new IllegalStateException("Failed to create the window.");
}

// 后续回调设置、上下文激活等代码保持不变
glfwSetCursorPosCallback(glfwWindow, MouseListener::mousePosCallback);
glfwSetMouseButtonCallback(glfwWindow, MouseListener::mouseButtonCallback);
glfwSetScrollCallback(glfwWindow, MouseListener::mouseScrollCallback);
glfwSetKeyCallback(glfwWindow, KeyListener::keyCallback);
//make the OpenGl context current
glfwMakeContextCurrent(glfwWindow);
//Enable v-sync (buffer swapping)
glfwSwapInterval(1);

//Make window Visible
glfwShowWindow(glfwWindow);

GL.createCapabilities();

验证修改效果

运行程序后,打印以下信息确认版本:

System.out.println("OpenGL Version: " + glGetString(GL_VERSION));
System.out.println("GLSL Version: " + glGetString(GL_SHADING_LANGUAGE_VERSION));

正常情况下应该输出类似内容:

OpenGL Version: 4.6.0 - Build 27.20.100.9664(具体取决于驱动版本)
GLSL Version: 4.60

额外说明

  • 无需再添加GL_ARB_explicit_attribute_location等扩展,GLSL 3.30及以上版本已原生支持layout(location)语法,4.6核心模式完全兼容。
  • 如果修改后仍报错,检查显卡驱动是否为最新版本(Intel Iris 550的最新驱动完全支持OpenGL 4.6)。

内容的提问来源于stack exchange,提问作者Ethanol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:25:29