No deja de sorprender el modo en que en pocos años los gráficos de los ordenadores y consolas han dado saltos tan abismales. Aunque no lo percibimos, se trata de una gran cantidad de tecnologías que funcionan de manera sinérgica para hacer que los mentados gráficos cada vez se acerquen más a la realidad de nuestro mundo cotidiano.

Algunas de esas tecnologías tienen tanto tiempo entre nosotros, y son tan comunes, que ni siquiera nos damos cuenta de que existen y de lo fundamentales que son para que veamos el mundo digital en el modo que hacemos. Ese es el caso del antialiasing, que tal como su nombre lo indica, es el intento de evitar el aliasing, o lo que es lo mismo, un defecto gráfico que aparece cuando se trata de representar en una pantalla el render de un gráfico determinado. No te preocupes, vamos a explicarlo con más detalle.

Qué es el aliasing

Primero debemos entender exactamente qué es el aliasing. O por lo menos hacerlo de un modo fácil de digerir para cualquiera. Así pues, aquellos que han usado aplicaciones como Paint en Windows o sus emuladores como KolourPaint en Linux, habrán notado que, por lo menos en las primeras versiones, cuando se intentaba aumentar o disminuir las dimensiones de una imagen, los píxeles no se renderizaban del todo bien, y teníamos aberraciones de la imagen, tal como se muestra en este ejemplo.

alising2
En realidad no se trata que los píxeles se renderizan mal. Es más bien que todos aumenten de tamaño en la misma proporción, sin un tratamiento que busque mantener la calidad de la imagen. Algo muy similar ocurre cuando en una pantalla se tratan de mostrar ciertos tipos de imagen. Es eso a lo que llamamos aliasing, y es particularmente notorio cuando se agrupan gráficos muy pequeños en un espacio reducido, que son renderizados fielmente, y se tratan de mostrar en un monitor sin la resolución adecuada.

Un ejemplo común del aliasing son las perspectivas panorámicas en las los elementos del fondo, pese a estar bien renderizados a nivel del procesamiento de gráficos, se muestran aberrados en el monitor por las limitaciones que tiene en función de su resolución. Otro que ocurre con bastante frecuencia es cuando una imagen con formas rectas es rotada, y queda una fea aberración que deja muy marcados los píxeles en las líneas diagonales.

El antialiasing y cómo funciona

Una vez que hemos y comprendido qué es eso del aliasing, entonces será mucho más sencillo entender el antialiasing. Como bien deben estar imaginando ya, se trata de aplicar técnicas para evitar los efectos desargradables del aliasing, y obtener superficies más finas y lo menos pixeladas posible.

Ejemplo de aliasing por rotación.
Ejemplo de aliasing por rotación.

Hay múltiples formas para evitar el aliasing, y no se puede decir que una es mejor que otra, sino que más bien pueden ser de mayor provecho ante situaciones determinadas. Una de las más frecuentemente utilizadas por los desarrolladores de videojuegos es el filtrado de superficies. Con estas técnicas el antialiasing es realizado mediante software al procesar la imagen.

Un modo común de hacer el mentado filtrado, es el sobremuestreo, donde primero se crear una imagen a gran escala que luego habrá de ser reducida y adaptada a la resolución del monitor, de modo que con la reducción de tamaño se suavicen las superficies (para entender cómo funciona, abre la imagen de nuestro ejemplo en una pestaña a parte, y presiona ctrl y – simultáneamente hasta que la veas sin pixelado). Otra técnica que se aplica por software es el conocido como muestreo de área, que básicamente se trata de adaptar el color, tono e intensidad de los píxeles limitantes entre dos superficies, lo que da como efecto transiciones más suaves. El antialiasing puede ser hecho por hardware o software Pero también hay técnicas por hardware, que funcionan directamente a nivel de la pantalla. El modo más común de hacerlo es asegurando que los píxeles sean más intensos en su núcleo que en la periferia, de modo que los píxeles continuos del mismo color representarán una imagen homogénea, pero los que limitan la superficie de una imagen tendrán bordes difuminados, que se traducirán en transiciones más suaves.

Por último, una técnica más compleja a nivel de las pantallas LCD consiste en no activar el píxel en toda su extensión, sino ajustarse y encender solo el área del píxel que debe ser visible en la imagen. Es un método bastante complejo que solo puede ser logrado por pantallas LCD avanzadas.

Y eso es básicamente todo. Debes tomar en cuenta que pese al modo en que lo hemos explicado en esta entrada y a lo sencillo que puede resultar el tema con los ejemplos que he expuesto, el aliasing sigue siendo un problema bastante común en los juegos modernos, y es como norma general el responsable del pixelado que vemos en las superficies de muchos videojuegos de la actualidad.