OpenGL3をサポートする次のコードをデバイスで試しています(「OpenGLバージョン文字列:3.3.0 NVIDIA310.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エラーが発生します。それは何でしょうか?