Now, I can save texture by using glReadPixels() to read the data in framebuffer (FBO). However, I faced two problems.
(1) In order to keep the saved image quality, the dimension would be larger than GL_MAX_TEXTURE_SIZE (most devices is 4096). If I created big texture (ex: 4160x3120), I got GL_FRAMEBUFFER_UNSUPPORTED error when calling glCheckFramebufferStatus()....
(2) If I created small texture(ex: 3648x2736), everything works except glReadPixels() will be very slow....
So back to my question, is it possible to overcome max texture size limitation and save it efficiently? Thanks.