glReadPixelsがカラー添付を読み取らないこの問題が発生しています。私がやろうとしています何glReadPixels of color添付ファイル
:
は、デフォルト以外のフレームバッファ(以下コード)の第三色の添付ファイルを読む
glFlush();
glFinish();
//binds my fbo with state GL_FRAMEBUFFER
RENDER_MANAGER.DeferredBuffer->bind();
unsigned char data[4];
glPixelStorei(GL_PACK_ALIGNMENT, 1);
unsigned int check = glGetError();
glReadBuffer(GL_COLOR_ATTACHMENT3);
glReadPixels(e->p->x, e->p->y, 1, 1,GL_RGB, GL_UNSIGNED_BYTE, data);
何作品:
- フレームバッファと、すべての色の添付ファイルの作業
- 3番目のカラーアタッチメントをバックバッファーにレンダリングし、それをスクリーンに表示してテストしました。私はそれが意図
glBindFramebuffer(GL_FRAMEBUFFER、_FBO)として働いてフロントバッファにcolorattachmentをレンダリングした後、I glReadPixels場合
/////create depth texture
glGenTextures(1, &_colorAttacherment[index]);
glBindTexture(GL_TEXTURE_2D, _colorAttacherment[index]);
glTexStorage2D(GL_TEXTURE_2D, 1, internalFormat, width, height);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filter);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filter);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, wrap);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, wrap);
////bind texture to the fbo
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + index, GL_TEXTURE_2D, _colorAttacherment[index], 0);
glBindFramebuffer(GL_FRAMEBUFFER, GL_NONE);
私の具体的な問題は、カラー添付を読み取るglReadPixelsを取得していることです。
OpenGLでエラーが発生しましたか? "*もし私がフロントバッファにカラーアタッチメントをレンダリングした後に私がglReadPixelsを使うと、それは意図した通りに動作します*"あなたはアタッチメントかフロントバッファから読み込んでいますか? –
私は添付ファイルから読みたいですが、それはありません。私はフロントバッファに添付ファイルをレンダリングし、フロントバッファを読むことができますが、それは問題です。私はチェックしており、OpenGLエラーはありません。 –