【发布时间】:2013-10-27 20:18:29
【问题描述】:
我正在使用 QT 4.8.4 并在 QGraphicsScene 背景上绘制 OpenGL。问题是我从 glGetError() 得到无效返回。我的代码sn-p:
while (GLenum err = glGetError() != GL_NO_ERROR) {
std::cerr << err;
}
在应用程序输出中,我得到很多带有 number 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。
我怎么可能得到 1 而不是正确的错误代码?
当我用 QT 包装我的原生 OpenGL 绘图代码时,这种情况开始发生:
painter->beginNativePainting();
...
painter->endNativePainting();
PS:多个 1 来自多个绘图调用,而不是来自循环。
【问题讨论】:
-
欢迎来到 SO!您能否提供更大的代码示例和您看到的输出?不太清楚你在做什么。
-
谢谢德里克!由于这个问题已得到正确回答,因此很明显这与上下文无关(删除不必要的细节而不是添加新的细节可能会更好:))。