Ok, so here's the deal:
I've just gotten my hands dirty with deferred lighting. I won't go into details, but I've been using FBO's a lot and have run into a problem.
Throughout my rendering process I'm using glBlend:
GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA
to get the result I want. If I render my scene onto the "real" framebuffer (the back buffer?) I get proper result. The problem is that if I render something to an FBO first, then render that FBO into the "real" framebuffer, I get transparency issues.
It difficult to explain, but I'll give it a try. Say I render a pixel with RGBA (0.5,0.7,0.4,1.0) to the FBO, then, after, render a pixel (0.0,1.0,0.0,0.5) on top of that. The resulting alpha for that pixel should be 1.0, but guess what! the result is 0.5. Why is this? The final color is blended correctly, but the alpha is not 1.0. How, through either blendfunc or some other method can I get the resulting alpha to 1.0? I've tried clearing the buffer with different colors, different bend functions, etc. to no avail.