Я недавно узнал об OpenGL и искал информацию об обработке ошибок. Я научился использовать glGetError
для установки флага ошибки и создал функцию, которая печатает его шестнадцатеричное значение. Соответствующий код C ++ выглядит так:
GLClearError();
glDrawElements(GL_TRIANGLES, 6, GL_INT, nullptr);
GLCheckError();
с GL_INT, написанным специально. GLClearError()
просто очищает флаг ошибки, а GlCheckError()
печатает ошибки, вызванные glDrawElements
.
Я получаю 500
в качестве вывода. Я знаю, что могу перейти (в моем случае, поскольку я использую GLEW) к glew.h и найти ошибку с этим номером. В этом случае ошибка составляет GL_INVALID_ENUM
. Это определение компилятора; Мой вопрос заключается в следующем: возможно ли создать в C ++ функцию, которая возвращает имя определения путем ввода его значения? Я использую C ++ 11, OpenGL 4.6 и GLEW 2.1, если это что-то изменит.