typedef void (APIENTRY *DEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, void *userParam);
void DebugCallbackFunction(unsigned int source, unsigned int type, unsigned int id, unsigned int severity, int length, const GLchar* message, void* userParam);
if(glDebugMessageCallback){ // other code } else { cout << "glDebugMessageCallback not available" << endl; }
glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); glEnable(GL_DEBUG_OUTPUT);
glDebugMessageCallback(DebugCallbackFunction, NULL);
GLuint unusedIds = 0; glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, &unusedIds, true);