View Single Post
  #83 (permalink)  
Old 19th July, 2007, 01:38 PM
chrisbard's Avatar
chrisbard chrisbard is offline
Benchmarker
 
Join Date: March 2003
Location: Earth
Posts: 8,252
Send a message via Yahoo to chrisbard

I was looking on the net and I found this simple explanation of the new CSAA implementation in 88xx cards. This is very interesting (taken from http://www.nhancer.com/?dat=d_AA):

"Anti-Aliasing

Visual comparison of the various Anti-Aliasing modes

A common problem when a scene has to be rendered with a finite resolution (which is always the case with the current technology) are the "jaggies" that are especially visible alongside the edges of rendered objects. This effect is called aliasing.

Increasing the resolution can reduce the visibility of the aliasing effect, but as long as the resolution isn't at least twice the resolution of the human eye (and we're still far far away from that resolution), it will always be visible.

Another effect of aliasing is the shimmering, that happens if the character moves in the scene or if the scene itself changes (e.g. waving trees). This shimmering is caused by the movement of the "jaggies". This is especially bad, if you have fine details, like tree branches, which are too small to be correctly drawn at the given resolution. These details tend to "pop in" and "pop out" with every smallest movement, which usually causes a heavy flickering of these structures. This effect is equally apparent with high resolutions (the detailed structure has just to be farther away from the viewer), so increasing the resolution is not really an alternative.

To elliminate the effects of aliasing, the graphic card employs a technique called Anti-Aliasing. nVidia offers various variations of this technique, each with their own advantages and disadvantages. All these variations have in common, that the "jaggies" are made less visible by causing a smoother transition of colors along the edges. The human eye tends to blend these transitions, so the viewer can't see the individual pixels anymore. Only if you zoom in into such a rendered image (which is done with the examples in the Visual Presentation), you will see how this technique works. Unfortunately the most important advantage cannot be seen on the presentation, since it is only apparent if the scene is moving.



Multisampling


Multisampling is currently the most common way of doing Anti-Aliasing these days. On some graphic cards, it's the only mode available to the user.

With multisampling, each pixel at the edge of a polygon is sampled multiple times. For each sample-pass, a slight offset is applied to all screen coordinates. This offset is smaller than the actual size of the pixels. By averaging all these samples, the result is a smoother transition of the colors at the edges.

The number of samples taken for each pixel indicates the level of multisampling. So the 2x multisampling mode means that two samples are taken, while 4x means that four samples are taken for each pixel at the edge of a polygon.

nVidia introduced a new multisampling mode with the 8x00 line of cards that takes even eight samples . Please note, that this mode is called 8xQ. The mode called 8x is actually a Coverage Sample mode (see below for details about that).

Advantages

* Very efficient. All multisampling modes causes a relatively small performance hit but have a huge effect on the image quality.
* Available in all resolutions.

Disadvantages

* Only the edges of polygons are smoothed. The inner parts of textures are not changed at all. This is very apparent with alpha-test textures (meaning that they have "look-trough" holes). Those are often used for grates, fences, tree branches and similar structures, because these details aren't usually modelled using polygons to reduce the complexity of the scene. See below at Transparency Anti-Aliasing for details how to circumvent this disadvantage.
* Doesn't reduce texture shimmering, which is caused by textures with a very detailed structure. Usually the texture creators avoid such details, but in some games, this texture shimmering is still very apparent.


Transparency Anti-Aliasing

Starting with the 7x00 line of cards, nVidia introduced a new option that can be added to the traditional Multisampling modes (this mode is now also useable with 6x00 cards).

This option is meant to cover the problem of transparent textures:

Transparent textures are used in almost all games, where very detailed structures would require too many polygong to model. The game designers use textures which contains "holes", i.e. parts where you can see through them, to model these structures. These textures are also called alpha-test textures.

The problem with those textures is, that the standard Multisampling Anti-Aliasing only covers the edges of the polygons. But the holes within of transparent textures cannot be covered by Multisampling Anti-Aliasing, since the holes are not edges of a polygon.

The result is, that whereever transparent textures are used, you'll see a lot of aliasing effects. Usually the foilage or fences are the most obvious place to see this.

If you enable one of the Transparency Anti-Aliasing modes, all polygons with transparent textures in the scene are rendered multiple times. The method is very similar to Multisampling, but while Multisampling only samples the pixels along the edge of each polygon, transparent polygons are rendered multiple times as a whole. This can cause a heavy hit on the performance, but since only transparent textures are affected, and there usually aren't that many transparent textures in a scene, the overall performance hit is usually acceptable.

There are two Transparency Anti-Aliasing modes the user can select: Multisampling Transparency AA and Supersampling Transparency AA. Those modes are similar in their operation, but Multisampling Transparency AA covers less textures while Multisampling Transparency AA is a little more expensive performance wise. So if you still see aliasing-effects when you're using Multisampling Transp. AA, you should give Supersampling Transp. AA a try instead.


Gamma-corrected Anti-Aliasing

Also starting with the 7x00 line of cards, nVidia introduced another new option that can be added to all anti-aliasing modes: the Gamma corrected Anti-Aliasing.

This option only changes the selection of the in-between colors, that are used to smooth the transition at the edge of a polygon. The reasoning is that monitors are not linear in their display of colors and brightness, and the standard, linear way of selecting in-between colors is therefor not ideal.

If you enable gamma-corrected anti-aliasing, the result is that the edges are usually slightly less visible than without this option. But the effect depends on the monitor you're using and how this monitor is configured (brightness, contrast, etc.).

This option doesn't cost any performance.


Coverage Sampling

Coverage Sample Anti-Aliasing (CSAA) was introduced by nVidia with the 8x80 line of cards.

Every CSAA mode contains a standard Multisampling component. In addition to the samples taken from the texture for Multisampling, additional samples are taken which just check how much of the pixel is actually covered by the polygon. Those additional samples don't read the texture buffer, so they're much faster than usual.

The performance hit caused by a Coverage Sampling mode is almost completely caused by its Multisampling component. The additional coverage component doesn't cause much more, but can give you a somewhat smoother look.

Currently, nVidia uses the following Multisampling and Coverage Sampling modes for the 8x00 line:

* 2x
2x Multisampling
* 4x
4x Multisampling
* 8x
4x Multisampling plus 8 coverage samples
* 16x
4x Multisampling plus 16 coverage samples
* 8xQ
8x Multisampling
* 16xQ
8x Multisampling plus 16 coverage samples


Supersampling

Supersampling is a very straight forward method, that was also first introduced on Voodoo 4/5 cards. It's currently not available for 8x00 cards.

The image is just rendered with a higher resolution internally. After a whole image has been rendered, it is then scaled down to the target resolution. While doing that, each pixel is colored from the avarage of all apropriate pixels of the high-resolution image.

Supersampling modes are named after the size of the internally used resolution. I.e. the mode 2x1 means that the internal resoltion has twice the horizontal resolution and the same vertical resolution. The result is, that each final pixel is made from the average of 2 pixels. With the 4x4 supersampling mode, each final pixel is created from the average of 16 pixels.

Advantages

* Excellent image quality.
* Even the edges within alpha-blended textures (see above) are correctly smoothed.
* Also reduces texture shimmering.

Disadvantages

* Heavy performance hit.
* Limitations on the target resolution. The maximum internal resolution is 4096 in both directions. So the 4x4 mode can only be used with 1024x768 or less.
* Some supersampling modes are only available using Direct3D, but not in OpenGL games.

For most games, especially new ones, the performance hit is not acceptable, if you want to use a resolution of 1280x1024 or more. But if you're playing an older game and if you're using a high-end model of you graphic card, the supersampling modes cause a tremendous improvement on the image quality, while still producing acceptable framerates.

There are even some current games (e.g. "Chronicles of Riddick"), which produce very heavy texture shimmering (because of the extremely high detailed textures and the bump-mapping effects). It can actually be preferrable to reduce the resolution and apply the 2x2 supersampling mode in such cases.


Combined modes

nVidia also offers a couple of combined anti-aliasing modes. These modes are using mutlisampling and supersampling at the same time. These modes are currently not available for 8x00 cards.

There are the following modes:

* 4xS:
This mode combines 1x2 supersampling with 2x multisampling. This mode is still quite cheap on performance but can already have great effects on the image quality, if the game uses many alpha-blended textures or causes heavy texture shimmering.
* 8xS:
This is the only combined mode which is available through the standard control panel. Just like the 4xS mode, it has a 1x2 supersampling component, but combined with 4x multisampling. This mode doesn't cause a much higher performance hit as 4xS but can produce a better result.
* 16xS:
This mode combines 2x2 supersampling with 4x multisampling. This mode offers the second best anti-aliasing, a GeForce card is capable of (best being 4x4 supersampling) at a rather high performance cost."
__________________
I've heard that linux community came up with better implemented security in it's latest Linux Mint Gold version, it's actually preventing the user to log in, thus posing 0 risk in contamining the computer with malware! Well done to the open source community!


Last edited by Áedán; 19th July, 2007 at 02:01 PM. Reason: Added link to original source
Reply With Quote