我遇到glPrimitiveRestartIndex
时遇到问题
我的代码编译和链接,但是当我运行它时,就会出现段错误:
glPrimitiveRestartIndex(0xffff);
当我使用glEnable(GL_PRIMITIVE_RESTART)
和invalid enumerant
进行投票时, glGetError
给了我glGetErrorString
我找到了similar question,它表明glew可能无法正确初始化。
在我这样做之前,我正在初始化glew,而且我还在glew.h
之前加入了gl.h
。
另外,glewinfo | grep Restart
给了我
glPrimitiveRestartIndex: OK
glPrimitiveRestartIndexNV: OK
glPrimitiveRestartNV: OK
所以不应该在我的系统上运行吗?可能有什么不对?
我的代码相当大,所以我无法发布所有内容,这是我认为相关的内容:
if (GLEW_OK != glewInit()){
// GLEW failed!
std::cout << "Failed to initialize glew!\n";
exit(1);
}
glEnable(GL_PRIMITIVE_RESTART); //invalid enumerator
glPrimitiveRestartIndex(0xffff); //segfault!
答案 0 :(得分:1)
glPrimitiveRestartIndex
是OpenGL 3.1 + 您应该检查以查看您的驱动程序是否支持它,方法如下:
if(GLEW_VERSION_3_1) {
//we are running on 3.1 +
} else {
//some version lower than 3.1
}