我在我的设备上尝试以下代码,支持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错误。它能是什么?