OpenGL调试方法

GL提供了glGetError接口用于获取gl状态机的错误状态,GL调试主要就依赖这个接口.

  1. 封装gl api
    每个gl api的调用都检查状态,错误立刻抛出异常(debug环境下立刻暴露,release则略过).
举例封装glGenFramebuffers
void CxGenFramebuffers(GLsizei n, GLuint* framebuffers) {
    glGenFramebuffers(n, framebuffers);
    GLenum err = glGetError();
    if (err != GL_NO_ERROR) {
        printf("GL:file %s line %i errno %d\n", __FILE__, __LINE__, err);
        abort(); //
    }
}

可以利用模板函数做检查的事情 参考这个链接的做法.
用模板检查函数返回值 地址 : https://www.jianshu.com/p/c83484a1bbb7

你可能感兴趣的:(OpenGL调试方法)