glPopAttrib & GL_INVALID_OPERATION

Я работаю над графическим приложением и получил GL_INVALID_OPERATION после glPopAttrib () . Предсказание ответа «Похоже, вы вызываете glPopAttrib () в блоке glBegin / glEnd », пожалуйста, посмотрите этот журнал, который я сделал с помощью GLIntercept.

/* tons of wglGetProcAddress* */
wglGetProcAddress("glEndOcclusionQueryNV")=087C9B10 
wglGetProcAddress("glBeginTransformFeedbackN...")=087C9ED0 
wglGetProcAddress("glEndTransformFeedbackNV")=087C9F00 
glPushAttrib(GL_VIEWPORT_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPopAttrib()
glPopAttrib() glGetError() = GL_INVALID_OPERATION # <---- THIS
glPopAttrib()
glPushAttrib(GL_VIEWPORT_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPopAttrib()
glPushAttrib(GL_POINT_BIT | GL_LINE_BIT | GL_COLOR_BUFFER_BIT)
glPopAttrib()
glPopAttrib()
glPopAttrib()
glPushAttrib(GL_VIEWPORT_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPushAttrib(GL_COLOR_BUFFER_BIT)
glPopAttrib()
glPopAttrib()
glPopAttrib()
/* and so on */

Нет вызовы glBegin / glEnd выполняются до вызывающего ошибку glPopAttrib () . (Я использовал команду findstr для фильтрации журнала).

Ошибка появляется только один раз, ни одна такая (или другие) ошибки больше не возникает во время выполнения кода. У меня есть подозрение, что я должен вызвать какую-то функцию до glPushAttrib (GL_VIEWPORT_BIT) или чего-то в этом роде.

10
задан genpfault 14 December 2011 в 15:56
поделиться