Função glGetError

A função glGetError retorna informações de erro.

Sintaxe

GLenum WINAPI glGetError(void);

Parâmetros

Essa função não tem parâmetros.

Valor retornado

A função glGetError retorna um dos seguintes códigos de erro.

Código de retorno Descrição
GL_INVALID_ENUM
Um valor inaceitável é especificado para um argumento enumerado. A função ofensiva é ignorada, não tendo nenhum efeito colateral além de definir o sinalizador de erro.
GL_INVALID_VALUE
Um argumento numérico está fora do intervalo. A função ofensiva é ignorada, não tendo nenhum efeito colateral além de definir o sinalizador de erro.
GL_INVALID_OPERATION
A operação especificada não é permitida no estado atual. A função ofensiva é ignorada, não tendo nenhum efeito colateral além de definir o sinalizador de erro.
GL_NO_ERROR
Nenhum erro foi registrado. O valor dessa constante simbólica é garantido como zero.
GL_STACK_OVERFLOW
Essa função causaria um estouro de pilha. A função ofensiva é ignorada, não tendo nenhum efeito colateral além de definir o sinalizador de erro.
GL_STACK_UNDERFLOW
Essa função causaria um fluxo de subfluxo de pilha. A função ofensiva é ignorada, não tendo nenhum efeito colateral além de definir o sinalizador de erro.
GL_OUT_OF_MEMORY
Não há memória suficiente para executar a função. O estado do OpenGL é indefinido, exceto pelo estado dos sinalizadores de erro, depois que esse erro é registrado.

Observe que glGetError retorna GL_INVALID_OPERATION se for chamado entre uma chamada para glBegin e sua chamada correspondente para glEnd.

Comentários

Cada erro detectável recebe um código numérico e um nome simbólico. Quando ocorre um erro, o sinalizador de erro é definido como o valor de código de erro apropriado. Nenhum outro erro é registrado até que glGetError seja chamado, o código de erro seja retornado e o sinalizador seja redefinido para GL_NO_ERROR. Se uma chamada para glGetError retornar GL_NO_ERROR, não haverá erro detectável desde a última chamada para glGetError ou desde que o OpenGL foi inicializado.

Para permitir implementações distribuídas, pode haver vários sinalizadores de erro. Se qualquer sinalizador de erro tiver registrado um erro, o valor desse sinalizador será retornado e esse sinalizador será redefinido para GL_NO_ERROR quando glGetError for chamado. Se mais de um sinalizador tiver registrado um erro, glGetError retornará e limpará um valor de sinalizador de erro arbitrário. Se todos os sinalizadores de erro forem redefinidos, você sempre deverá chamar glGetError em um loop até que ele retorne GL_NO_ERROR.

Inicialmente, todos os sinalizadores de erro são definidos como GL_NO_ERROR.

Quando um sinalizador de erro é definido, os resultados de uma operação OpenGL são indefinidos somente se GL_OUT_OF_MEMORY ocorreu. Em todos os outros casos, a função que gera o erro é ignorada e não tem efeito sobre o estado OpenGL ou o conteúdo do framebuffer.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho
Gl.h
Biblioteca
Opengl32.lib
DLL
Opengl32.dll

Confira também

glBegin

glEnd