我有使用GLSL版本150编写的着色器,所以我相信我需要获得OpenGL 3.2上下文。
如果我这样做:
glutInitDisplayMode(GLUT_3_2_CORE_PROFILE | ...)
然后OpenGL版本是4.1,如果我没有那么版本是2.1。
如果版本是4.1,则GLEW_ARB_vertex_shader
为false,代码在启动之前会检查。
答案 0 :(得分:2)
ARB_vertex_shader
是an extension of the compatibility profile,允许您使用旧版OpenGL的顶点着色器。您不需要使用核心配置文件进行此扩展。我认为你的代码可以在没有这个检查的情况下安全运行。
OpenGL 4.1应该允许你做任何你用OpenGL3.2做的事情。
有可能,您使用的代码不是在OSX环境中编写的。其他操作系统允许同时激活核心和兼容性配置文件。这是not the case with OSX。这表明您的代码依赖于此功能,因此将其用于OSX可能会很棘手。