我尝试使用以下代码将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] 删除。
我来说两句