Compartilhar via


Tratamento de erros (OpenGL)

Quando o OpenGL detecta um erro, ele registra um código de erro atual. A função que causou o erro é ignorada, portanto, não tem efeito no estado OpenGL ou no conteúdo do framebuffer. (No entanto, se o erro registrado tiver sido GL_OUT_OF_MEMORY, os resultados da função serão indefinidos.) Depois de registrado, o código de erro atual não é limpo até que você chame a função de consulta glGetError , que retorna o código de erro atual.

As implementações do OpenGL podem retornar vários códigos de erro atuais, cada um dos quais permanece definido até ser consultado. A função glGetError retorna GL_NO_ERROR depois de consultar todos os códigos de erro atuais ou se não houver erro. Portanto, se você obtiver um código de erro, chame glGetError até que GL_NO_ERROR seja retornado para ter certeza de que descobriu todos os erros. Para obter a lista de códigos de erro, consulte Códigos de erro OpenGL.

Você pode usar a função GLU gluErrorString para obter uma cadeia de caracteres descritiva correspondente ao código de erro passado. Para obter mais informações sobre gluErrorString, consulte Tratamento de erros.

Observação

As funções GLU geralmente retornam valores de erro se um erro for detectado. Além disso, a biblioteca do Utilitário OpenGL define os códigos de erro GLU_INVALID_ENUM, GLU_INVALID_VALUE e GLU_OUT_OF_MEMORY, que têm o mesmo significado que os códigos de erro OpenGL relacionados.