Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Profile: sarah.a180
Name: sarah.a180 Offline
Joined: Saturday, September 1, 2012(UTC)
Last Visit: Saturday, September 1, 2012 1:19:09 AM(UTC)
Number of Posts: 1
[0.00% of all post / 0.00 posts per day]
Thanks Given: 0 (View Thanks)
Thanks Received: 0
Thanked Posts: 0
Community Reputation Received:
View All Posts by User
Topic: NVIDIA TXAA Anti-Aliasing Explored: Movie CGI Render Quality For PC Games?   Go to last post
Posted: Saturday, September 1, 2012 1:19:07 AM(UTC)

Nice overview, but I'm afraid that you're mistaken when you claim that FXAA is somehow not "true" anti-aliasing. I would suggest you study up on the mathematics of frequency-space representations and filtering before you try to argue against the engineers at NVIDIA.

Aliasing is a patterning artifact caused by high-frequency signal components interacting with a low-frequency sampling space. Anti-aliasing is *any* technique that filters out these high-frequency artifacts. There is no such thing as perfect anti-aliasing: all real low-pass filters are approximations. (Even if a perfect low-pass filter were possible, you would not want to use it for graphics because its non-locality would cause undesirable ringing artifacts.)

All real anti-aliasing filters involve trade-offs between

* aliasing (failure to remove frequencies above the sampling cutoff),

* ringing (caused by frequency truncation),

* excessive blurring (failure to retain frequencies just below the frequency cutoff), and

* complexity (because compute time is finite)

Supersampling is an approximation. So is the box kernel that is typically used to down-sample from the supersampled representation to the traditional one. Coverage-sampling and z-buffer-only supersampling (MSAA) techniques are, in many ways, a bigger compromise than those of FXAA: traditional MSAA looks terrible if not combined with good texture filtering, which is another anti-aliasing technique. The linear texture projection used in texture filtering are another approximation of true texture transforms, and not that great an approximation. (Anisotropic texture filtering is still a linear interpolation technique.)

FXAA is just a different (and far more sophisticated) approximation to a low-pass filter. Because it is a full-screen technique, it outperforms MSAA in many ways. It has slightly more blurring and doesn't do a good job with temporal aliasing, but it is vastly superior at removing aliasing due to transparency or small features—all at a radically lower cost. Most people should probably be using FXAA instead of MSAA in many games unless they already hit 60 FPS with all the effects they want enabled, especially if you are running in 1080p where the extra blurring is negligible. The only real drawback to FXAA is its poor ability to handle temporal aliasing (thus we have TXAA).

Let's try to put a stop to the false dichotomy that FXAA is "blurring" and MSAA is "true anti-aliasing." It's completely false. If anybody is looking for a good introduction, Jim Blinn's "Dirty Pixels" is a great introduction. (And if you don't know who Jim Blinn is, you probably shouldn't claim to know much about computer graphics.)