getPixels() requests the data in GL_RGBA, the texture upload again expects them to be in GL_RGBA as well. So actually, it should fit. Most likely it doesn't, because the frame buffer returns no alpha values, because there is no buffer in GPU memory to store these. Anyway, not much I can do about it, I suppose.