... You may render to a texture with them, but this does not mean that their textures cannot be viewed as though it was a three dimensional object...
...To my knowledge there is no way to do that - you have to create a new shader combining all of them. But it can be very useful. So useful that I created a library to combine "effects" together to make shaders and shoved it all into an XML file format for good measure. If you think it would help and don't mind trawling through my code, I'm happy to share.
Your screen is also showing you 2D images and yet these appear as if they were 3D worlds.
uniform vec4 viewport;//x, y, width, height (x,y,z,w)void main(){ vec2 pos_xy = gl_FragCoord.xy * viewport.zw + viewport.xy; float z = <get Z position>; vec3 position_world = vec3(pos_xy, z);}
I can't trust the position on the screen because the game may be (and most likely will be) using a perspective or fustrum view...