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

不能在mac mavericks上使用GLSL 330

全弘深
2023-03-14

我的mac是2012年中期的MacBook Pro。它应该支持OpenGL4.1根据应用。

那么如何编译版本330着色器呢?

共有1个答案

屠建本
2023-03-14

OS X要求您请求3.2核心配置文件,以便接收3.3或更高版本的上下文。这是因为3.2最终删除了3.0中不推荐的功能。

因此,如果您想使用#Version330着色器,那么您的代码应该如下所示:

glutInitContextVersion(3,2);
glutInitContextFlags(GLUT_CORE_PROFILE);

显然X11在OS X上不支持高于2.1的OpenGL。因此,我建议你切换到GLFW。

 类似资料:
  • 我下载了最新版本的JDK8 for Mac OS X并安装了Maven。然而,我似乎在Java和Maven之间存在不兼容: 如何使Java和maven相互兼容? 来自可能重复问题的尝试说明:Maven安装OSX错误不支持Major.minor版本51.0:

  • 预制版: 4.3 (在此下载) 在Linux上运行make时,我得到以下错误:“g : x86_64:没有这样的文件或目录。”从CFLAGS中移除$(ARCH)后,使工程正常。 红帽子: 系统版本(“cat/etc/redhat release”):Red Hat Enterprise Linux Server 6.5版(圣地亚哥) 内核版本(“uname-r”):2.6.32-431.11.2.

  • 因此,我尝试使用,然后使用重新编译,得到以下结果: 在包含于/usr/include/c++/4.6/thread:39:0,from main.cpp:2:/usr/include/c++/4.6/functional:在成员函数中'void std::_bind_result<_result,_functor(_bound_args...)>::__call(std::tuple<_args.

  • 问题内容: 您能帮我用下面的代码吗?错误是: “不能在静态上下文中使用此” 问题答案: 参见,“ this”关键字指的是当前对象,这是由于正在执行哪种方法。不能使用类的实例调用静态方法。这就是为什么不能在上面的示例中以静态方法使用“ this”的原因,因为它试图打印当前未创建的当前实例。因此,我认为这就是为什么您会遇到编译时错误。

  • 你能帮我用下面的代码吗。错误是:“不能在静态上下文中使用此”