我得到了无效的枚举数
GL Error #1280(invalid enumerant)
以下代码错误:
CHECK_GL_ERROR();
glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB);
CHECK_GL_ERROR();
其中CHECK_GL_ERROR()
宏定义如下:
int CheckGLError(char *file, int line)
{ GLenum glErr;
int retCode = 0;
glErr = glGetError();
while (glErr != GL_NO_ERROR)
{ const GLubyte* sError = gluErrorString(glErr);
if (sError)
cerr << "GL Error #" << glErr << "(" << gluErrorString(glErr) << ") " << " in File " << file << " at line: " << line << endl;
else
cerr << "GL Error #" << glErr << " (no message available)" << " in File " << file << " at line: " << line << endl;
retCode = 1;
glErr = glGetError();
}
return retCode;
}
#define CHECK_GL_ERROR() CheckGLError(__FILE__, __LINE__)
我确定问题是由 产生的,glCreateShaderObjectARB(GL_VERTEX_SHADER_ARB)
因为我已经用断点检查过第一行没有产生错误,但是在glCreateShaderObjectARB()
函数之后产生了错误。
我在带有 NVidia 驱动程序的 Ubuntu 12.04 上使用 glew 1.9.0 和 GLUT。有没有人已经有这个问题?