Condividi tramite


Gestione degli errori (OpenGL)

Quando OpenGL rileva un errore, registra un codice di errore corrente. La funzione che ha causato l'errore viene ignorata, pertanto non ha alcun effetto sullo stato OpenGL o sul contenuto del framebuffer. Se l'errore registrato è stato GL_OUT_OF_MEMORY, tuttavia, i risultati della funzione non sono definiti. Dopo la registrazione, il codice di errore corrente non viene cancellato finché non si chiama la funzione di query glGetError , che restituisce il codice di errore corrente.

Le implementazioni di OpenGL possono restituire più codici di errore correnti, ognuno dei quali rimane impostato fino a quando non viene eseguita una query. La funzione glGetError restituisce GL_NO_ERROR dopo aver eseguito una query su tutti i codici di errore correnti o se non è presente alcun errore. Pertanto, se si ottiene un codice di errore, chiamare glGetError fino a quando non viene restituito GL_NO_ERROR per assicurarsi di aver individuato tutti gli errori. Per l'elenco dei codici di errore, vedere Codici di errore OpenGL.

È possibile usare la funzione gluErrorString GLU per ottenere una stringa descrittiva corrispondente al codice di errore passato. Per altre informazioni su gluErrorString, vedere Gestione degli errori.

Nota

Le funzioni GLU restituiscono spesso valori di errore se viene rilevato un errore. Inoltre, la libreria di utilità OpenGL definisce i codici di errore GLU_INVALID_ENUM, GLU_INVALID_VALUE e GLU_OUT_OF_MEMORY, che hanno lo stesso significato dei codici di errore OpenGL correlati.