私はiPhone4、iOS6.0.1で作業しています。メインFBOとは異なるサイズのオフスクリーンFBOを作成しています。これを行うには、次のコードを使用します。ここで、cxFBOとcyFBOはメインFBOの2倍のサイズです。
glGenRenderbuffers(1, &_colorRenderBuffer);
glBindRenderbuffer(GL_RENDERBUFFER, _colorRenderBuffer);
glRenderbufferStorage(GL_RENDERBUFFER, GL_RGBA, cxFBO, cyFBO);
glGenFramebuffers(1, &_frameBufferID);
glBindFramebuffer(GL_FRAMEBUFFER, _frameBufferID);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_RENDERBUFFER, _colorRenderBuffer);
glGenTextures(1, &_fboTextureID);
glBindTexture(GL_TEXTURE_2D, _fboTextureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, cxFBO, cyFBO, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, _fboTextureID, 0);
を呼び出した後、私はそれに描画していglBindFramebuffer(GL_FRAMEBUFFER, _frameBufferID)
ます。シェーダーを使用して描画ルーチン全体を投稿したくありません。私は特別なことは何もしていないと思いますが、それが重要だと思われる場合は、簡単な例を投稿します。問題は、テクスチャの4分の1だけが頂点で満たされ、残りの4分の3はによって設定された色であるということglClearColor()
です。
私は何が間違っているのですか?私は特にフォーマットについて少し混乱していますGL_RGBA
。私はむしろ使用する必要がありますGL_RGBA_OES
か?どこにでも?