Если вы хотите сохранить все свои объекты в файл и загрузить их обратно, я не верю, что вы должны использовать OpenGL для этого. Как только вы отправляете объекты в OpenGL, вы часто не изменяете их снова. Если вы пишете какое-то приложение для рисования множества объектов на экране, проще всего будет самим отслеживать объекты.
Если вы хотите получить окончательное изображение, вы можете использовать glReadPixels - для получения необработанных данных пикселей или glCopyTexImage2D - чтобы сохранить то, что на экране, в текстуре для дальнейшего использования в OpenGL.