One way to do oldskool type 2d effects in openGL (and this is the way I used) is to code like you always do and never mind the openGL part.
Here's how:
Code ala PTC (which means on a buffer better to use 32 bits since it's easier to upload it later but there's a way to upload 8 bit images to opengl)
Be sure that your software buffer size is a power of 2 (if you want a 640x480 screen), you should use a 1024x1024 buffer)
Then for each frame...
Code your effect on the buffer
upload the buffer to an opengl texture(using glteximage2d or gltexsubimage2d)
blit the texture to screen using glquads
that's it.
I used it on one of my games. Note that the screen is rendered on a buffer whether you use OGL or Software as the render engine.
Code is FB17b though so there are lots of pointer hacks.
http://rel.betterwebber.com/index.php?action=contents&item=marvelous_twilightI found a better and smaller demo on how to do this, check out effects.bas and display.bas.
Spacebar to skip effect