MCPcopy Create free account
hub / github.com/PacktPublishing/3D-Graphics-Rendering-Cookbook / message_callback

Function message_callback

shared/debug.h:5–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3#include <iostream>
4
5void message_callback( GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, GLchar const* message, void const* user_param )
6{
7 auto const src_str = [source]() {
8 switch ( source )
9 {
10 case GL_DEBUG_SOURCE_API: return "API";
11 case GL_DEBUG_SOURCE_WINDOW_SYSTEM: return "WINDOW SYSTEM";
12 case GL_DEBUG_SOURCE_SHADER_COMPILER: return "SHADER COMPILER";
13 case GL_DEBUG_SOURCE_THIRD_PARTY: return "THIRD PARTY";
14 case GL_DEBUG_SOURCE_APPLICATION: return "APPLICATION";
15 case GL_DEBUG_SOURCE_OTHER: return "OTHER";
16 }
17 return "";
18 }();
19
20 auto const type_str = [type]() {
21 switch ( type )
22 {
23 case GL_DEBUG_TYPE_ERROR: return "ERROR";
24 case GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR: return "DEPRECATED_BEHAVIOR";
25 case GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR: return "UNDEFINED_BEHAVIOR";
26 case GL_DEBUG_TYPE_PORTABILITY: return "PORTABILITY";
27 case GL_DEBUG_TYPE_PERFORMANCE: return "PERFORMANCE";
28 case GL_DEBUG_TYPE_MARKER: return "MARKER";
29 case GL_DEBUG_TYPE_OTHER: return "OTHER";
30 }
31 return "";
32 }();
33
34 auto const severity_str = [severity]() {
35 switch ( severity ) {
36 case GL_DEBUG_SEVERITY_NOTIFICATION: return "NOTIFICATION";
37 case GL_DEBUG_SEVERITY_LOW: return "LOW";
38 case GL_DEBUG_SEVERITY_MEDIUM: return "MEDIUM";
39 case GL_DEBUG_SEVERITY_HIGH: return "HIGH";
40 }
41 return "";
42 }();
43
44 std::cout << src_str << ", " << type_str << ", " << severity_str << ", " << id << ": " << message << '\n' << '\n';
45}
46
47void initDebug()
48{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected