我正在使用QT 4.8.4并在QGraphicsScene背景上绘制OpenGL.问题是我从glGetError()得到无效的返回.我的代码片段:
while (GLenum err = glGetError() != GL_NO_ERROR) {
std::cerr << err;
}
Run Code Online (Sandbox Code Playgroud)
在应用程序输出上,我得到很多第1行
从文档中我看到可能的值是:
GL_NO_ERROR,GL_INVALID_ENUM,GL_INVALID_VALUE,GL_INVALID_OPERATION,GL_INVALID_FRAMEBUFFER_OPERATION,GL_OUT_OF_MEMORY,GL_STACK_UNDERFLOW,GL_STACK_OVERFLOW
它们被定义为0,0x0500,0x0501,0x0502,0x0503,0x0504,0x0505,0x0506.
当我用QT包装我的原生OpenGL绘图代码时,这种情况就开始发生了:
painter->beginNativePainting();
...
painter->endNativePainting();
Run Code Online (Sandbox Code Playgroud)
PS:多个1是来自多个绘制调用而不是来自循环.
试试这个:
GLenum err;
while ( ( err = glGetError() ) != GL_NO_ERROR) {
std::cerr << err;
}
Run Code Online (Sandbox Code Playgroud)
你!=之前得到了评估=.
| 归档时间: |
|
| 查看次数: |
2943 次 |
| 最近记录: |