I am rendering a box on the screen and it works but if I render it to a a render buffer it seems that the depth test doesn’t work. What am I doing wrong? I attach the code and the images.
You need to generate a render buffer for depth buffer in order to allow the framebuffer object to render the depth component (my head is gonna blow if I write “buffer” one more time, oops). Something like:
// create a renderbuffer object to store depth info
GLuint rboId;
glGenRenderbuffersEXT(1, &rboId);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, rboId);
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, TEXTURE_WIDTH, TEXTURE_HEIGHT);
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
And then attach the buffer to the framebuffer object
// attach the renderbuffer to depth attachment point
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, rboId);