No, I have glViewport before rendering to the fbo.
this is before rendering to fbo:
glViewport (0, 0, Display.getWidth(), Display.getHeight());
glBindTexture(GL_TEXTURE_2D, 0);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, openGL.framebufferID);
glClearColor (0.0f, 0.0f, 0.0f, 1.0f);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity ();
glTranslatef (0.0f, 0.0f, intoTheScreen); //z = -6.0f
//game renders
and later to display fbo texture:
glEnable(GL_TEXTURE_2D);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
glClearColor (0.0f, 0.0f, 0.0f, 1.0f);
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//glViewport(0, 0, Display.getWidth(), Display.getHeight());
glLoadIdentity ();
glTranslatef (0.0f, 0.0f, intoTheScreen);
glColor3f(1, 1, 1);
renderScreen();
renderScreen method:
//don't know if this is ok to use with fbo render...
//this is how I usually render 2d HUD and stuff
public void renderScreen() {
GL11.glPushMatrix();
glMatrixMode(GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, Display.getWidth(),0, Display.getHeight(), -1, 1);
glViewport(0, 0, Display.getWidth(), Display.getHeight());
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, openGL.colorTextureID);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f); glVertex2i(0, 0);
glTexCoord2f(1.0f, 0.0f); glVertex2i(Display.getWidth(), 0);
glTexCoord2f(1.0f, 1.0f); glVertex2i(Display.getWidth(), Display.getHeight());
glTexCoord2f(0.0f, 1.0f); glVertex2i(0, Display.getHeight());
glEnd();
glPopMatrix();
}