Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #pragma once
00025 #include <QMessageBox>
00026 class checkGLError
00027 {
00028 public:
00029 static QString makeString(const char* m)
00030 {
00031 QString message(m);
00032
00033 switch(glGetError()) {
00034 case GL_NO_ERROR: return QString();
00035
00036 case GL_INVALID_ENUM: message+=("invalid enum"); break;
00037 case GL_INVALID_VALUE: message+=("invalid value"); break;
00038 case GL_INVALID_OPERATION: message+=("invalid operation"); break;
00039 case GL_STACK_OVERFLOW: message+=("stack overflow"); break;
00040 case GL_STACK_UNDERFLOW: message+=("stack underflow"); break;
00041 case GL_OUT_OF_MEMORY: message+=("out of memory"); break;
00042 case GL_INVALID_FRAMEBUFFER_OPERATION: message+=("invalid framebuffer operation"); break;
00043 }
00044 return message;
00045 }
00046
00047 static void debugInfo(const char* m) {
00048 QString message=makeString(m);
00049 if(message.isEmpty()) return;
00050 ::qDebug("%s",qPrintable(message));
00051 }
00052
00053 static void QMessageBox(const char* m, const char* title) {
00054 QString message=makeString(m);
00055 QMessageBox::warning(0, title,message);
00056 }
00057 static void QMessageBox(const char* m) {QMessageBox(m,"GL error");}
00058 };
00059