Guru input needed

trinibwoy

Meh
Legend
Supporter
Ok it's time to dust the brain a little. A couple years ago I made some assumptions that I haven't bothered to verify. Can someone give succint definitions of multi-sampling and super-sampling and their advantages/disadvantages? e.g. I never really got the whole big deal about alpha textures and super-sampling :oops:

1) During multi-sampling multiple texture samples are blended to get each pixel's final color - high bandwidth requirement for texture lookups?
2) During super-sampling the image is rendered to a higher resolution and then downsampled - high fillrate requirement?

Also, if someone can give a good straight-forward explanation of why AA/AF is fillrate/bandwidth dependent that would be helpful too. I'm sure all of this info is muddled in my brain somewhere but I'd like to see it on paper (screen) :)

Thanks!!
 
Multisampling and Supersampling can really mean the same thing. But in the PC graphics world, we typically choose these specific meanings:

Multisampling: One color value is calculated, but multiple z-tests are done. The multiple z tests determine which samples of the pixel are colored by the given triangle, but since only one pixel is calculated, multisampling FSAA has no fillrate hit. There is a memory bandwidth hit, but this is managed by modern processors via z-buffer and frame buffer compression techniques (The z-buffer can be compressed using the fact that triangles are flat, so reasonable-sized sections of the z-buffer are made up by flat surfaces. The frame buffer can be compressed with multisampling because many pixel subsamples will share the same color value). This FSAA method typically has a very low performance impact compared to the number of samples calculated.

Supersampling: Each pixel sample is calculated as if it were its own pixel. This eats up fillrate hugely, and has more of a memory bandwidth hit than multisampling (since the framebuffer can't be compressed as well). This FSAA method typically has a performance hit associated with the number of samples taken (i.e. 4x FSAA will perform at 1/4th the speed, unless the system is CPU-limited at that resolution with that game).

Supersampling is good when the output of pixel processing has a discontinuity. This happens when, for example, a particular texture determines whether or not to write to the frame buffer. This feature is used commonly for textures like fences or gratings, where the texture's alpha channel determines whether it is transparent or opaque at that point (This is called doing an, "alpha test," where the pixel is not output if the alpha value is below some threshold value, typically). With pixel shaders this generalizes to any sort of "if" statement one might choose to use.

Since these discontinuities are calculated at the pixel level, a multisampling FSAA implementation will look identical whether or not FSAA is enabled. Supersampling, however, will anti-alias these situations.

Programmers can still get around these limitations by using a continuous blend instead of an instant step, but that isn't always easy to accomplish.
 
Wow....that's a mega PDF.

Chalnoth/Neeyik, thanks for the taking the time to help me clear some things up. :D
 
guru_meditation.png
 
Back
Top