【发布时间】:2019-02-14 07:21:17
【问题描述】:
我有一个用来检查 opengl 相关错误的宏
#if (GL_ERROR_CHECK == On)
#define GL_CHECK(x) \
x; \
{ \
GLenum glError = glGetError(); \
if(glError != GL_NO_ERROR) \
{ \
std::cout << "GL Error: " << glError << " at " << __FILE__ << ", " << __LINE__ << std::endl; \
} \
}
#else
#define GL_CHECK(x) x;
#endif
并以此方式使用它
GL_CHECK(glGenFramebuffers(1, (GLuint*)&m_u32FboID));
GL_CHECK(glBindFramebuffer(GL_FRAMEBUFFER, m_u32FboID));
我想知道是否有任何方法可以用适当的 c++ 函数替换这个宏?
【问题讨论】:
-
仅供参考:您的错误处理代码是错误的。即使是单个 OpenGL 函数也能够提供 多个 OpenGL 错误。所以you have to loop until you get
GL_NO_ERROR.