Chalnoth said:
I'm not talking about supersampling, just multisampling, and multisampling has the same effect on z-buffer accesses as supersampling (which is the most stark difference between TBDR's and IMR's).
But multisampling can be an "always-on" feature in the low-end as well, especially on a deferred renderer where it is even cheaper than on an IMR. So that does not increase the "resolution span".
Well, two things:
1. You can only effectively remove triangles that are submitted that are either backface culled, or are entirely clipped outside of the view area.
2. Since one a triangle requires significantly more storage than a pixel, triangles can be quite a bit larger than pixel-sized. Exactly how much would obviously depend upon how many attributes are used.
1. There's more. If you compare the list of submitted triangles to the list of those triangles contributing to the final rendering, you will find triangles missing from the latter for several reasons: outside the view area, backfacing, not hitting a single pixel/sample, hidden by other triangles, rejected by stencil test, and maybe others.
While it is extremely hard to get the ideal, minimal list of contributing triangles under all circumstances, all of the above reasons can in some way be used to reduce the number of triangles that have to be stored.
For example, if a game doesn't use a geometry LOD system and a 10,000 triangle object viewed at a distance happens to cover only 20 pixels/samples, at least 9,980 triangles can be safely culled. Of course such a case usually means really bad aliasing and should be avoided.
There are also methods where an object may be stored but never read, like predicated rendering.
2. Obviously. And on how much bandwidth deferred rendering can save in other areas. But don't forget that, as triangles get smaller, IMRs lose efficiency as well.