2

我正在我的设备上尝试以下支持 OpenGL3 的代码(“OpenGL 版本字符串:3.3.0 NVIDIA 310.19”):

glBindFramebuffer(GL_FRAMEBUFFER, 0);
checkGlError();
glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &ret);
checkGlError();

if (ret == GL_NONE)
    throw std::runtime_error("something is really bad there or FRONT_LEFT isn't your default buffer. Check it!");

glGetFramebufferAttachmentParameteriv(GL_FRAMEBUFFER, GL_FRONT_LEFT, GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE, &ret);
checkGlError();

checkGlError是一个宏,它将检查 OpenGL 错误并告诉发生错误的行。

我尝试使用 Qt 和 SDL 初始化我的上下文。此外,我使用 glew 来访问该功能。

在第一次打电话给我时,glGetFramebufferAttachmentParameteriv我得到了 INVALID_ENUM 错误。会是什么?

4

0 回答 0