在 OSX 上的核心配置文件上获取可用的 opengl 扩展



所以在iMac上测试我的代码时,我偶然发现了这些问题。我正在使用 SDL 来初始化 OpenGL 上下文。如果我指定我想要一个带有SDL_GL_SetAttribute的核心配置文件(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_CORE);然后我得到了一个OpenGL 4.1配置文件。如果我省略核心配置文件掩码,它会给我一个 2.1 配置文件。为什么?

此外,正如规范所说,在核心配置文件上glGetString(GL_EXTENSIONS)被弃用。所以,我尝试使用glGetStringi的方式,但唉,GL_NUM_EXTENSIONS没有定义。如果我尝试 glGetStringi ( GL_EXTENSION, 0 ) 我得到一个无效的指针。

那么获得扩展的正确方法是什么?这适用于其他操作系统。

谢谢

@Reto,你的答案是正确的。我不知道Apple包含一个单独的标题,并且在包含该标题之后,它终于可以工作了。

如果您想用它创建一个答案,我很乐意将其标记为已接受。

谢谢。

最新更新