Yea I forgot about alpha test. The overlay you missed my point completely.
.5*healthbar + .5*your_background texture == .5*your_background texture + .5*healthbar
If you put the background drawn first, without alpha blending, it will be in the background. If you blend your health bar on top, the amount of pixels you are blending is only the health bar pixels. (A lot less pixels blending).
I'm not sure that would work that well...
Maybe with constant alpha, but not with an alpha channel.
First you would also need to modify your blending function, and make sure your framebuffer is RGBA.
Normally you do srcA * srcRGB + (1-srcA)*dstB.
If you want to to it the other way around, you have to blend with (1-dstA)*srcRGB + dstA*dstRGB in your second pass, to use the alpha in the overlay.
I think It also requires that the game graphics can't have an alpha channel of their own, so no smooth edges. (like those clouds)
Okay, now I see what he was trying to say. Still not sure that would work for reasons already said.