Jump to content
  • Advertisement
Sign in to follow this  
JesusGumbau

FBO+DEPTH_STENCIL+81.xx = trouble?

This topic is 4638 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I'm trying to setup a FBO with a texture2d color, depth and stencil attachments. This is the source code I use for FBO setup:
GLuint fb, rtt, depth_stencil_rb;
glGenFramebuffersEXT(1,&fb);
glGenTextures(1,&rtt);
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT,fb);
glBindTexture(GL_TEXTURE_2D,rtt); 

glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA8,t->GetWidth(),t->GetHeight(),0,GL_RGBA,GL_UNSIGNED_BYTE,NULL);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
		glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_TEXTURE_2D,rtt,0);

glGenRenderbuffersEXT(1,&depth_stencil_rb); 
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT,depth_stencil_rb); 
glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT,0x84F9/*GL_DEPTH_STENCIL_EXT*/,t->GetWidth(),t->GetHeight());
 
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,GL_DEPTH_ATTACHMENT_EXT,GL_RENDERBUFFER_EXT,depth_stencil_rb);	
glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT,GL_STENCIL_ATTACHMENT_EXT,GL_RENDERBUFFER_EXT,depth_stencil_rb); 

glDrawBuffer(GL_COLOR_ATTACHMENT0_EXT);		glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
This code seems to work because it passes the checkFBOStatus test. However, when I'm trying to use the stencil, it doesn't seems to work properly. I try to readback the contents in the depth_stencil buffer with:
 glReadPixels(0,0,t->GetWidth(),t->GetHeight(),0x84F9/*GL_DEPTH_STENCIL_EXT*/,0x84FA/*GL_UNSIGNED_INT_24_8_EXT*/, pixels);
after setting the stencil value with:
 glClearStencil(8);
glClear(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
But it I allways get the same data in the pixels array: 0, don't matter to what value I clean the depth_stencil buffer. Is there any problem in my code? Any one of you have some source code of a depth_stencil FBO working? (or only a stencil FBO at least). Thanks in advance.

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!