当我意识到我使用的是OpenGL 2.1和GLSL 1.2时,我的着色器出了问题。由于几何着色器直到1.5才支持,我需要使用另一个OpenGL,GLSL版本。但是怎么样?我想我读了15个帖子,但对我没用。
我的Mac使用PyOpenGL 3.0.2在10.9.3上运行。我已下载OpenGL Extention Viewer以查看支持的版本和扩展名。英特尔HD Graphics 4000以及NVIDIA GeForce 650M在核心配置文件中支持OpenGL 3.2,但在兼容配置文件中不支持。
我认为兼容性配置文件是我无法编译几何着色器的事实。它只支持OpenGL高达2.1。
我试图像这样更改个人资料:
glutInitContextVersion (3, 2)
glutInitContextProfile(GLUT_CORE_PROFILE)
但两个函数都是未定义的。 GL_SHADING_LANGUAGE_VERSION(1.2)和GL_VERSION 2.1仍然相同。
由于另一个线程,我在几何着色器中使用了#version 150 core
,但这也没有效果。
如何更改上下文/版本以使用我的几何着色器?