I only see one way: creating a RenderImage and drawing everything onto it.
But as I said, this needs some time, doesn't it?
For example, if you have an action RPG you may want to do something like this:
-Draw Map
-Draw Player, Enemies and other NPCs
-Apply a sepia shader, because this scene is set in the past
-Apply a blur shader, because you are nearly dead and this effect shall simulate that
-Draw HUD
You would have to do this, to reach your goal:
-Create RenderImage
-Draw Map, Player, Enemies ...
-Create another RenderImage
-Draw the first RenderImage onto the second
-Draw the second RenderImage onto the window
-Draw HUD
I don't know much about OpenGL but doesn't it take time to create (FPS = 60, Resolution = 800x600) 120 800x600 textures each second?