glCheckFramebufferStatus()

glcheckframebufferstatus.png
定数名 意味
GL_FRAMEBUFFER_COMPLETE フレームバッファが完全である 36053
GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT フレームバッファのアタッチメントポイントが不完全である。必要なアタッチメントが無いか、テクスチャレンダラーバッファが有効でない 36054
GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT フレームバッファに有効なアタッチメントが無い 36055
GL_FRAMEBUFFER_INCOMPLETE_DISMISIONS アタッチメントの高さか幅が異なる 36057
GL_FRAMEBUFFER_INCOMPLETE_FORMATS アタッチメントが使用している内部フォーマットがレンダリング可能なものではない
GL_FRAMEBUFFER_UNSUPPORTED フレームバッファ内のアタッチメントが使用している内部フォーマットの組み合わせがレンダリングできないターゲットになっている 36061

0が返ってくるとき

http://stackoverflow.com/questions/18457939/opengl-es-glcheckframebufferstatus-return-0
onDrawFrame でないところで呼んでるかも

調べ方

作ったレンダーバッファの幅と高さを確かめてみよう。もし、0だったらうまく作れてないってことだ

int[] renderBufferSize = { -1 };
GLES20.glGetRenderbufferParameteriv(GLES20.GL_RENDERBUFFER, GLES20.GL_RENDERBUFFER_WIDTH, renderBufferSize, 0);
Log.d("opengl","実際に作成した幅"+renderBufferSize[0]);
GLES20.glGetRenderbufferParameteriv(GLES20.GL_RENDERBUFFER, GLES20.GL_RENDERBUFFER_HEIGHT, renderBufferSize, 0);
Log.d("opengl","実際に作成した高さ"+renderBufferSize[0]);

opengl-error

サポートサイト Wikidot.com opengl-error