iOSデバイス(iPad)では、glRenderbufferStorage経由でビューを明示的なストレージにバックアップするCAEAGLLayerからレンダリングバッファのストレージを変更することに決めました。残念なことに、次のコードでは有効なFBOが得られません。層のサイズが有効で正しいです
:誰かが注意私は?:なぜ、iOSでglRenderbufferStorageが失敗しているように見えますか?
glGenFramebuffers(1, &m_framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, m_framebuffer);
glGenRenderbuffers(1, &m_colorbuffer);
glBindRenderbuffer(GL_RENDERBUFFER, m_colorbuffer);
GLsizei width = (GLsizei)layer.bounds.size.width;
GLsizei height = (GLsizei)layer.bounds.size.height;
glRenderbufferStorage(m_colorbuffer, GL_RGBA8_OES, width, height);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, m_colorbuffer);
を逃したものを私に教えてくださいすることができます。 これは、レンダリングコードを動作させる堅牢な制作物です。私が作っています唯一の変化はラインです:
glRenderbufferStorage(...)
以前に私がやった:
[m_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:layer]
を層にレンダから「リンケージ」を参照してくださいラインで、それはiOSので必要だとして、あなたは二行目を避けることができない
:どこかのビューのコードには、このようなコードを使用する必要があります。正しい答えは、 '[context renderbufferStorage]'を 'glRenderbufferStorage(...)'呼び出しで置き換えることができないからです。 – bobobobo