i render a scene including a teapot and ambient light .Without using fbo the whole scene seems ok!When i using fbo to render the scene into a texture,the whole scene become dark but the light still have effect. Why?
void InitFBO()
{
glGenFramebuffersEXT(1, &fb);
glGenTextures(1, &tex2);
glGenRenderbuffersEXT(1, &depth_rb);

glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fb);

// init texture
glBindTexture(texTarget, tex2);
glTexImage2D(texTarget, 0, texInternalFormat, texWidth, texHeight, 0,
GL_RGB, GL_FLOAT, NULL);

glTexParameterf(texTarget, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameterf(texTarget, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterf(texTarget, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameterf(texTarget, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
//glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_GEN_MODE,GL_RE PLACE);
glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT,
texTarget, tex2, 0);

glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, depth_rb);
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24, texWidth, texHeight);
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT,
GL_RENDERBUFFER_EXT, depth_rb);


glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
}

void display()
{

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fb);
glEnable(GL_LIGHT0);
CreateObject();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);

glEnable(GL_TEXTURE_2D);
glBindTexture(texTarget,tex2);

glBegin(GL_QUADS);
glTexCoord2f(0,0);
glVertex2f(0,0);
glTexCoord2f(1,0);
glVertex2f(1,0);
glTexCoord2f(1,1);
glVertex2f(1,1);
glTexCoord2f(0,1);
glVertex2f(0,1);
glEnd();
//glPopMatrix();
glDisable(GL_TEXTURE_2D);
glutSwapBuffers();
}