Reading or Copying Pixels
You can read pixels from the framebuffer into memory, encode them in various ways, and store the encoded result in memory with glReadPixels. In addition, you can copy a rectangle of pixel values from one region of the framebuffer to another with glCopyPixels. The function glReadBuffer controls which color buffer the pixels are read or copied from.