Morphological antialiasing
# Morphological antialiasing

Morphological antialiasing o MLAA por sus siglas en inglés, es un tipo de antialiasing ejecutado como post-proceso en una imagen. Fue Introducido por primera vez en el año 1999 y usado en computación gráfica para mejorar la calidad de la imagen.

## Funcionamiento

El MLAA está diseñado para reducir los artefactos de distorsión en los bordes de lás imágenes y se realiza en tres pasos principales:

* Encuentra las discontinuidades entre los pixeles en una imagen determinada.
* Identifica patrones predefinidos.
* Mezcla los colores en las cercanías de estos patrones.

El MLAA tiene un conjunto único de características que lo distingue de otros algoritmos. Es totalmente independiente del canal de renderizado ya que puede ser utilizado tanto para rasterización como en aplicaciones con trazado de rayos. Presenta un solo núcleo de post-procesamiento, que puede ser implementado tanto en la CPU como en la GPU. El MLAA incluso en su aplicación por CPU sin optimizar, es razonablemente rápido, con un procesamiento superior a los 20M de píxeles en un CPU mononúcleo.

### Método por CPU

En el algoritmo utilizado en CPU e inicialmente desarrollado por Intel, inicia la detección de patrones con formas de L, Z y U, creando unas listas completa que luego se descompone únicamente patrones de formas L. Luego se realiza una mezcla de colores en las cercanías de estos patrones.

### Método por GPU

En el método por GPU se suelen utilizar bordes de estructuras con textura de alto contraste en lugar de las listas de formas L, Z y U, que permite a su vez manejar todos los tipos de patrones de forma simétrica, evitando así la necesidad de descomponer en otras más simples, como se hace en los enfoques por CPU. Además el pre-cálculo de ciertos valores en texturas permite una aplicación incluso más rápida que la ejecutada por CPU.

