Поделиться через


Функция glGetError

Функция glGetError возвращает сведения об ошибке.

Синтаксис

GLenum WINAPI glGetError(void);

Параметры

У этой функции нет параметров.

Возвращаемое значение

Функция glGetError возвращает один из следующих кодов ошибок.

Код возврата Описание
GL_INVALID_ENUM
Для аргумента перечисления указано недопустимое значение. Функция, назначающая ошибку, игнорируется, так как не имеет побочных эффектов, кроме установки флага ошибки.
GL_INVALID_VALUE
Числовой аргумент выходит за пределы диапазона. Функция, назначающая ошибку, игнорируется, так как не имеет побочных эффектов, кроме установки флага ошибки.
GL_INVALID_OPERATION
Указанная операция не допускается в текущем состоянии. Функция, назначающая ошибку, игнорируется, так как не имеет побочных эффектов, кроме установки флага ошибки.
GL_NO_ERROR
Ошибка не была записана. Значение этой символьной константы гарантированно равно нулю.
GL_STACK_OVERFLOW
Эта функция приведет к переполнению стека. Функция, назначающая ошибку, игнорируется, так как не имеет побочных эффектов, кроме установки флага ошибки.
GL_STACK_UNDERFLOW
Эта функция вызовет переполнение стека. Функция, назначающая ошибку, игнорируется, так как не имеет побочных эффектов, кроме установки флага ошибки.
GL_OUT_OF_MEMORY
Для выполнения функции недостаточно памяти. Состояние OpenGL не определено, за исключением состояния флагов ошибок после записи этой ошибки.

Обратите внимание, что glGetError возвращает GL_INVALID_OPERATION, если он вызывается между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Каждой обнаруживаемой ошибке назначается числовой код и символьное имя. При возникновении ошибки флагу ошибки присваивается соответствующее значение кода ошибки. Другие ошибки не записываются до вызова glGetError , возврата кода ошибки и сброса флага до GL_NO_ERROR. Если вызов glGetError возвращает GL_NO_ERROR, с момента последнего вызова glGetError или с момента инициализации OpenGL не произошло никаких ошибок.

Чтобы разрешить распределенные реализации, может существовать несколько флагов ошибок. Если какой-либо один флаг ошибки записал ошибку, возвращается значение этого флага и этот флаг сбрасывается до GL_NO_ERROR при вызове glGetError . Если несколько флагов записали ошибку, glGetError возвращает и удаляет произвольное значение флага ошибки. Если все флаги ошибок должны быть сброшены, следует всегда вызывать glGetError в цикле, пока он не вернет GL_NO_ERROR.

Изначально всем флагам ошибок присваивается значение GL_NO_ERROR.

При установке флага ошибки результаты операции OpenGL не определяются, только если произошло GL_OUT_OF_MEMORY. Во всех остальных случаях функция, создающая ошибку, игнорируется и не влияет на состояние OpenGL или содержимое framebuffer.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glEnd