[TIPS] What is the Morphological Anti-Aliasing (MLAA)?



Morphological Anti-Aliasing (MLAA)
Morphological Anti-Aliasing from Pixel Bender Filters: MLAA



With the launch of new Radeon HD 6870 (and HD 6850) series and new Catalyst 10.10a, the web if flooded by MLAA which is the acronym of MorphoLogical Anti-Aliasing. But what is MLAA and how to use it / enable it?


What is the MLAA?

In short, MLAA is a shape-based anti-aliasing method that uses post processing filters to reduce aliasing. Like the SSAO, MLAA can be hand-coded in a 3D app or added in graphics drivers.

The following slide gives us an introduction to MLAA:

MLAA - MorphoLogical Anti-Aliasing

Here is the MLAA in action:

FINAL FANTASY XIV - No AA
FINAL FANTASY XIV – No AA – (source)

FINAL FANTASY XIV - With MLAA
FINAL FANTASY XIV – With MLAA



Now some links with more technical information about MLAA:

  • Morphological Antialiasing @ realtimerendering.com

  • Morphological Antialiasing (PDF) by Alexander Reshetov (Intel).

    MLAA is designed to reduce aliasing artifacts in displayed images without casting any additional rays. It consists of three main steps:
    1. Find discontinuities between pixels in a given image.
    2. Identify predefined patterns.
    3. Blend colors in the neighborhood of these patterns

  • Morphological Antialiasing on GPU. The presentation is available here: Practical morphological antialiasing on the GPU. You can download the demo with source code and GLSL shaders HERE that show the implementation of MLAA.

    Morphological antialiasing is a recently introduced filter-based approach to antialiasing which does not require to compute additional samples. Due to bandwidth costs it is often too expensive to add a CPU post process to a real time application, pushing the need for a GPU implementation. However, the algorithm is a non-linear filter, which implies heavy branching and image-wise knowledge for each sample, making it difficult to port smoothly on the GPU. We redesigned the algorithm using multiple passes including a new line length detection method, and area estimation using precomputed tables. We obtain high framerates even on medium-range hardware at high resolutions. Our complete implementation is freely available.


How enable MLAA with Catalyst drivers?

MLAA support is provided by the Catalyst 10.10a (hotfix) and is automatically enabled on Radeon HD 6800. But it’s disabled on Radeon HD 5000. Why? Only AMD knows the answer…

How to enable MLAA on Radeon HD 5000 series?

Two ways:

1 – Windows registry (not tested yet – if someone can confirm…)

Add (if nor present) the key “MLF_NA” to
HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ Class \ {4D36E968-E325-11CE-BFC1-08002BE10318}000

and set the value 0 to MLF_NA to enable MLAA. Then Reboot the PC.

2 – Tweaking the Cat 10.10a installation files

Just download this file: C7106976.txt.

Go in
C: \ AMD \ Catalyst_8.782.1RC5_Win7_MLAA_Oct21 \ Packages\ Drivers \ Display \ W7_INF \

and replace all the content of C7106976.inf by the content of C7106976.txt. Or delete C7106976.inf and rename C7106976.txt in C7106976.inf, as you want ;)

Do the same thing for

C: \ AMD \ Catalyst_8.782.1RC5_Win7_MLAA_Oct21 \ Packages\ Drivers \ Display \ W76A_INF \

Now you’re ready to install the Cat10.10a. Then install it. At the end of the installation, reboot Windows. And if everything went well, you should see MLAA in CCC:

MLAA enabled in Catalyst 10.10a with Radeon HD 5870
MLAA + Cat 10.10a + HD 5870!


Thanks to PCGHX for the trick.





[ Subscribe to Geeks3D latest news by email ]

Geeks3D.com

↑ Grab this Headline Animator