Here's a demo that breaks FBOs:  http://www.humus.ca/3D/Water.zip
Also download: http://www.humus.ca/3D/Framework2.zip

You'll notice all the glClear calls fail [ or at least a lot of them ]. That's because the framebuffer is incomplete at that point - checkFBOstatus() should be called before glClear, as well as drawprim to see that this is FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT (0x8cd9).

I think the call that fails is the clear call in the drawFrame() function of the app - the others set a 0 depth stencil buffer immediately prior, while this one is probably using wined3d's initial depth fbo. I think the Framework sets EnableAutoDepthStencil, so that an fbo is created. It probably ends up being a different size from the color fbo, which breaks a framebuffer completeness requirement.






Reply via email to