How do you use your renderer targets?

Hey guy! Somekind of a poll here.

What are you main uses of render target?
If you could even tell me about how many shadow maps, how many framebuffer images (rendertarget / texture), cubemap (and for what purpose), per frame do you use?

It would really really help me!


Reflection, refraction, shadows. I would like to do other effects as well but I have not had the time.
How many? It depends on the effect. For water, I would have to have a reflection/reflection/depth texture for each water surface unless if they are all at the same height.
For glassy objects, 1 single refraction map for all of them.
For shiny objects that need a cubemap, it would be 1 cubemap for each object.
There is of course the risk of having too many per scene. It is possible to not render if object is culled.
I also update every 2 frame. Some of them get updated on frame X. Some get updated on frame X+1.

It easily sucks a lot of juice.
Also, you have to ask yourself, should I use mipmaping? Should I call glGenerateMipmap?
Should I avoid float formats (another performance hog)

Most games I know of generally do this, I infer:
use 1 or 2 shadowmaps, which are grid-snapped while travelling with the camera (2nd is to gradually lerp between two, for smoother transition).
1 reflection-tex, unless stenciling
Only a handful cubemaps, if more than one. One dynamic cubemap, max (in racing sims mostly).

glGenerateMipmap seems slow, ime. And the blocky results are less than desirable to a manually gauss-blurred downsampling ping-pong.
I notice no performance drops on RG11B10f formats vs RGBA8, in msaa/csaa.

/no experience in shipping a hw-accelerated product, take with a handful of salt/