I've tried wording and rewording this question in various forms of search and can't seem to find an answer to it. If I'm wording it wrong and/or just not finding the right information, feel free to throw me a link.
Here's what I'd like to accomplish: I want to do several different processing effects with GLSL, on several different images - each image a different effect - and then retrieve the end result and combine all the images to form a finished result.
Then, I want to save the finished product to an image I can later reuse.
So basically:
Make non-transparent blurry, greyscale, whatever else...
Do different effects on 3-10 images...
Layer all images on top of one another...
Flatten the images to result in a single image that looks identical...
Save to PNG.
I know 'save to PNG' isn't one of those things OpenGL can do and I have something I can use for that. However, I'm running into problems thinking up a way to retrieve the pixels from the end result (From the shader) and flatten them into a single result (in language of choice/OpenGL), and then get the final pixel data.
This doesn't have to be done in near realtime (Of course). It'll only happen when specific events are triggered, and only when absolutely necessary during those events. The events trigger 'permanent until further notice' situations, which is why this would be useful - on top of the idea of having multiple images being drawn over one another every frame being reduced to one, of course.
Thanks!