在Mac上使用SDL2设置OpenGL上下文3.3,无法正常工作

克雷格·布拉德利(Craig Bradley)

我尝试使用以下代码将OpenGL上下文设置为v3.3,它将创建4.1上下文。

SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_FLAGS, SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG);

我是在做错什么还是Mac问题?

迪特里希·埃普

OpenGL不提供任何保证,当您请求OpenGL XY上下文时,您将获得确切的OpenGL XY上下文。这取决于您使用的驱动程序。

  • 在OS X上,如果需要核心上下文,则可以在硬件和操作系统组合上获得受支持的最高版本。如果要求兼容性上下文,则得到2.1。

  • 在我的Linux / Mesa系统上,我总是获得3.0兼容性上下文和3.3核心上下文。

  • 在我的Windows / AMD系统上,我得到的正是我所要求的版本。

如果您的代码假定上下文为3.3,则4.1上下文应该对您来说很好。只需检查GL版本是否为> =所需版本,然后检查是否具有兼容性上下文(如果需要)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章