直接上代码:
void GLClearError(){
while(!glGetError());
}
bool GLLogError(const char*Funcame,const char* File,int Line){
bool flag=false;
while(GLenum error = glGetError()){
flag=true;
std::cout<<error<<" in"<<Funcname<<" "<<File<<" "<<Line<<std::endl;
}
return flag;
}
#define ASSERT(x) if(x) __debugbreak();
#define GLCall(x) GLClearnError();\
x;\
GLLogError(#x,__FILE__,__LINE__);
注意点:
__debugbreak(); 断点函数,报错;
__FILE__ 当前文件绝对位置的宏,类型为const char*
__LINE__ 当前代码行的宏,类型为int