gpt4 book ai didi

c++ - glGetError() 返回 1

转载 作者:可可西里 更新时间:2023-11-01 18:28:19 24 4
gpt4 key购买 nike

我正在使用 QT 4.8.4 并在 QGraphicsScene 背景上绘制 OpenGL。问题是我从 glGetError() 中得到无效返回。我的代码片段:

while (GLenum err = glGetError() != GL_NO_ERROR) {
std::cerr << err;
}

在应用程序输出中,我得到了很多带有数字 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 包装我的 native OpenGL 绘图代码时,这种情况开始发生:

painter->beginNativePainting();
...
painter->endNativePainting();

PS:多个 1 来自多个绘制调用,而不是来自循环。

最佳答案

试试这个:

GLenum err;
while ( ( err = glGetError() ) != GL_NO_ERROR) {
std::cerr << err;
}

您的 !== 之前得到评估。

关于c++ - glGetError() 返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19458961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com