通读完所有文档后,我仍然不确定glGetError()的行为。根据{{3}}的以下段落:
如果任何一个错误标志都记录了一个错误,则返回该标志的值,并在调用glGetError时将该标志重置为GL_NO_ERROR。
这是否意味着在单个GL调用后立即返回相同的值一次?
glFoo(GL_WRONG_VALUE);
GLenum error = glGetError(); // Returns GL_INVALID_ENUM, for example
error = glGetError(); // Can this *ever* return GL_INVALID_ENUM again?
简而言之,这是否意味着,当调用单个函数时,多个错误会导致相同的错误值,而只通知一次发生吗?
例如,glTexParameter *()有7种可能的方式来生成GL_INVALID_ENUM错误标志。假设有两个或两个以上的问题会导致此错误,那么glGetError()仅返回一个GL_INVALID_ENUM吗?