Hi:
I have a FBO problem !
=====================
Following code can run well
glBindTexture(GL_TEXTURE_2D, m_Texture[2]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, m_Width, m_Height,0, GL_RGB,GL_FLOAT, 0);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
…
…
m_fbo.Bind();
m_fbo.AttachTexture(GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, m_Texture[2]);
===============================================
if I change the internformat to GL_RGBA,program can not run ,and error message is
“glift::CheckFramebufferStatus() ERROR:
GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT” ,It is mean FBO can not “capture” scene to GL_RGBA texture? I want to confirm it ,If it’s true, have any others way to do it ? I need to save alpha to next step?
glBindTexture(GL_TEXTURE_2D, m_Texture[2]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_Width, m_Height,0, GL_RGBA,GL_FLOAT, 0);
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
…
…
m_fbo.Bind();
m_fbo.AttachTexture(GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, m_Texture[2]);