I created a FBO and it has GL_FRAMEBUFFER_COMPLETE_EXT. And I binded a texture created to store the depth buffer with:
glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, shadow_map_width, shadow_map_height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, 0);
I can attach the whole creation code if necessary, the problem is when I try to render to the FBO I got actually a complete white depth buffer
Here is the code for rendering to the FBO:
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, shader->shadow_fbo);
glViewport(0,0, SCREEN_WIDTH*2, SCREEN_HEIGHT*2);
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glCullFace(GL_FRONT);
//drawing for shadow
glTranslatef (0.0f, -35.0f, -300.0f + zoom);
//set the initial position of the mesh
glRotatef( 45.0f, 1.0f, 0.0f, 0.0f );
glRotatef(0.0f + view_angle, 0.0f, 1.0f, 0.0f );
//moving the map by the movement of the mouse
glTranslatef(main_player->map_x, 0.0f , main_player->map_y);
glPushMatrix();
world->drawVisibleCharactersSimplistically(main_player->map_x, main_player->map_y);
glPopMatrix();
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
glViewport(0,0, window_width, window_height);
//Enabling color write (previously disabled for light POV z-buffer rendering)
glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE);
.......(here goes normal scene rendering, which is OK)
I tested the complete scene above rendering to the screen and I got normal results. (Notice that the scene above does not have normals or textures attached to it, I am guessing this information is disconsidered by the depth buffer and this way I am making things faster by drawing only the vertices).