

Unless debug output is enabled, no messages will be generated, retrieved, or logged. Even better, on some GL drivers, when a GL error occurs the message callback function is invoked on the same thread and within the very same call stack as the GL call that triggered the GL error (or performance warning). Note that catching GL errors with this method is much easier than by using glGetError() error checking, as there is no need to sprinkle glGetError() calls throughout the code. The application has inserted its own debugging message into the message stream.An important state change has occurred with the GL driver that you might want to know about.Based on your app's GL usage, the GL driver has a performance tip to offer for improving your app's performance.Your app is using a slow path in the GL driver.A GL error has occurred (possibly including extended information about why that error occurred).Here are some events that a typical OpenGL driver might notify the application of via a message event:

These message events are provided to the application via a callback function. Message events are generated when certain "interesting events" occur within the OpenGL implementation. The heart of debug output is a message event.
