I would like to know, how do you concern with edge problems, appearing when you get back screen depth texture and use it after in some calculations (like transparency, volumetric fog or smth like that).
The problem’s nature is evident - texture we got looses information about individual fragments/samples, coveraged by pixel. So, we may got huge discontinuity in our screen-space function we’re applying with above mentioned depth texture.
The solution we’ve been used up to now - is to disable multisampling, render to FBO with 2x sizes, and minify back to match the screen. But this surely has disadvantages - the most important growing fill-rate. So, better solutions are desired.
The GPU Gems 3 “High-Speed Off Screen Particles” approach seems to work pretty well for fog/smoke/fuzzy effects. Basically, use low-res particles for the bulk of the scene, but around edge discontinuities use the full-res. Mask between these using stencil.
However, this doesn’t really address your base question, which is how to fully take advantage of an MSAA depth buffer. You might look at the Acquiring Depth and Downsampling Depth sections in that article for some ideas.
GPU Gems 2 features an article about defferend shading in STALKER. They solved the issue with an edge detection filter to achive anti aliasing. Mabye thats what your searching for. (The article has been released on the nvidia developer page for free)