This is typically called render to texture, and shaders dont particularly solve this problem (at least, as far as my limited knowledge of them has ascertained).

You should be able to use pix_snap2tex (I recall this from my old GEM work), to 'render' to a texture and then process those textures with GLSL shaders.

Here is an example patch which uses pix_snap (not to texture), I just tested it and it throws some errors, but it should demonstrate the theory.