glCreateShader 上的 GLUT 分段错误
Posted
技术标签:
【中文标题】glCreateShader 上的 GLUT 分段错误【英文标题】:GLUT segmentation fault on glCreateShader 【发布时间】:2017-01-04 06:09:32 【问题描述】:我正在使用 glew、glut 和 GLM 编写 C++ 程序。 当我像这样创建着色器时:
GLuint VertexShaderID = glCreateShader(GL_VERTEX_SHADER);
它说“分段错误(核心转储)”。 我的硬件是 Intel Atom CPU。 操作系统:OpenSuse 13.2 32 位。 我需要做什么才能让它发挥作用?
【问题讨论】:
【参考方案1】:您没有检查 OpenGL 扩展、版本等。
GLenum err = glewInit();
if (err != GLEW_OK)
exit(1); // or handle the error in a nicer way
if (!GLEW_VERSION_2_1) // check that the machine supports the 2.1 API.
exit(1); // or handle the error in a nicer way
此代码需要在创建 OpenGL 上下文之后,但在使用任何可能不存在的函数之前发生。更多详情请关注GLEW web page
【讨论】:
以上是关于glCreateShader 上的 GLUT 分段错误的主要内容,如果未能解决你的问题,请参考以下文章
Mac 上的 OpenGL/GLUT 应用程序无法获得焦点 [关闭]
glCreateShader 在 OSX 上抛出异常,为啥?