Además de las excelentes respuestas que ya están aquí, me gustaría mencionar la relativamente nueva SMAA o " Antialiasing morfológico de subpíxeles " que es, al igual que el FXAA, un método de antialiasing post-proceso. En muchos casos supera a otros métodos AA en cuanto a la relación calidad/coste de la imagen.
¿QUÉ ES EL SMAA?
En palabras de los desarrolladores Jorge Jiménez, José I. Echevarría y Diego Gutiérrez del Universidad de Zaragoza y Tiago Sousa de Crytek ,
SMAA es una implementación de MLAA muy eficiente basada en la GPU, capaz de manejar las características de los subpíxeles sin problemas, y cuenta con un mecanismo avanzado de mecanismo de detección y manejo de patrones. ( fuente )
O, más extensamente (con mis énfasis):
Presentamos un nuevo basado en la imagen , técnica de antialiasing de posprocesamiento , que ofrece soluciones prácticas a los problemas comunes y abiertos de algoritmos de antialiasing en tiempo real basados en filtros. Algunas de las nuevas características incluyen análisis de contraste para una detección de bordes más fiable detección de bordes y una forma sencilla y eficaz de tratar los rasgos geométricos y las líneas diagonales. . Esto, junto con nuestra acelerado y clasificación precisa de patrones permite una mejor reconstrucción de siluetas. Nuestro método muestra por primera vez cómo combinar antialiasing morfológico (MLAA) con estrategias adicionales de multi/supermuestreo (MSAA, SSAA) para la características precisas de los subpíxeles y cómo acoplarlo con reproyección temporal ; conservando siempre la nitidez de la imagen . Todas estas soluciones combinan sinergias que hacen que la técnica sea muy técnica muy robusta, que produce resultados de mejor calidad general que que los enfoques anteriores, convergiendo más estrechamente a las referencias MSAA/SSAA pero manteniendo tiempos de ejecución extremadamente rápidos. Además, proponemos diferentes preajustes para adaptarnos mejor a los recursos disponibles o a las necesidades particulares de cada escenario. recursos disponibles o a las necesidades particulares de cada escenario. ( fuente )
¿CÓMO FUNCIONA?
SMAA se basa en MLAA y FXAA:
MLAA (Morphological AA) y FXAA (Fast Aproximate AA) son modos post AA que utilizan filtros de desenfoque. Primero, detectan los contrastes ("bordes") en el cuadro y luego lo desenfocan a lo largo del gradiente.
Esto resulta en "jaggies" visibles muy reducidos que también cubren texturas alfa, pero también difumina todo, incluidas las texturas. Es también la forma más barata de AA y a menudo se utiliza en la versión de consola de juegos.
Sin embargo, la detección de bordes de SMAA es comparable a la de SSAA:
La "detección" de alisado se ha mejorado y está más cerca de la detección utilizada en MSAA que a la detección utilizada en MLAA y FXAA. El resultado es que el SMAA sigue siendo muy barato, sigue suavizando las texturas alfa y reduce en gran medida los "jaggies" visibles, pero no difumina la imagen pero no difumina tanto la imagen. ( fuente )
Este puesto por AlguienSimple en los foros de Anandtech explica brevemente lo que hace SMAA, y cómo puede funcionar junto con MSAA:
El inyector SMAA en su valor por defecto 'SMAA_PRESET_HIGH' es un poco más de la GPU que el FXAA simple, por lo que la pérdida de rendimiento es bastante insignificante en la mayoría de los casos.
Sin embargo, la SMAA no se puede comparar con la MSAA. MSAA realmente añade (subpixel-)detalle para suavizar los bordes de los polígonos, SMAA sólo trata de ocultar los bordes de los polígonos, mientras que SMAA sólo trata de ocultar las irregularidades (pero hace un buen trabajo). Lo más notable es que todavía el pixel-crawling/flickering con SMAA.
Sin embargo, el SMAA admite ser utilizado en combinación con el MSAA. Esa es la parte de "subpixel" de su nombre, a diferencia de cualquier otro filtro de post-proceso AA de post-proceso (que yo conozca), puede detectar correctamente los gradientes, por lo que puede ser puede utilizarse junto con otras formas de AA no PP, como MSAA y SSAA.
Dicho esto, actualmente estoy usando 1.2x OGSSAA (resolución personalizada NV ) con SMAA inyectado, en juegos que no se llevan bien con MSAA. SMAA se encarga del anti-aliasing, y SSAA disminuye en gran medida la cantidad de pixel-crawling. Se ve muy bien, mucho mejor que sólo 1.2x OGSSAA o SMAA por sí solo.
No voy a entrar en más detalles aquí, ya que las otras respuestas ya han proporcionado información de fondo sobre el mecanismo de las diferentes técnicas de AA. Puede leer más sobre este método específico en su papel (PDF); o bien hojeando su presentación de diapositivas (enlace directo); o bien, busque en el código en GitHub .
COMPARACIÓN CON OTRAS TÉCNICAS DE AA
Algunas capturas de pantalla que comparan el SMAA con otras técnicas de antialiasing:
![Call of Duty comparison]()
![Elite: Dangerous comparison]()
![Far Cry 4 comparison]()
(fuente)
![Watch_Dogs 2 comparison]()
( fuente )
![Guild Wars 2 (?) comparison]()
( fuente )
Un video comparativo usando Crysis 2/CryEngine 3, que lo implementó por primera vez (Youtube):
![IMAGE ALT TEXT HERE]()
Aquí es un enlace directo al vídeo original, no contaminado por la compresión.
Y lo siguiente es una comparación con algunos métodos MLAA, SRAA y FXAA (extraídos del documento enlazado anteriormente):
![Table comparing techniques and cost of different AA methods]()
APLICACIÓN
Una versión de SMAA, hecha inyectable por Andrej Dudenhefner, puede descargarse aquí y inyectado en muchas aplicaciones DirectX 9/10/11 (x86) .
Este artículo describe cómo hacerlo en Fallout: New Vegas, pero este método es muy similar en la mayoría de los juegos de Bethesda. También proporciona algo más de información comparando e ilustrando las diferentes técnicas de AA.