Antialiasing

Hace un tiempo que llevo aprendiendo conceptos nuevos para mí y me gustaría empezar a compartirlos poniendo a disposición de los hipano hablantes lo que he encontrado en el blog de Shawn Hargreaves y sobre todo averiguar si ando equivocado. El objetivo es afianzar estos conocimientos y abrir un hilo de discusión para que todos podamos aprender más aún. Así que aquí va el primero de una serie de post sobre Antialiasing.

Antialiasinges uno de los conceptos más usados y conocidos en diseño gráfico y en el desarrollo de video juegos. Si me diesen un euro por cada vez que escucho a alguien decir "He activado el antialiasing pero los gráficos siguen viéndose mal", bueno, tendría 6 o siete euros mas. 🙂

La cosa es que "antialiasing" es un término muy ambiguo. La palabra importante es "aliasing", un concepto también ambiguo y que en Dictionary.com tiene dos significados:

  1. Jagged distortions in curves and diagonal lines in computer graphics caused by limited or diminished screen resolution. En castellano: Distorsiones en curvas y líneas diagonales en gráficos de computador debido a los límites de resolución de la pantalla.
  2. Distortion in a reproduced sound wave caused by a low sampling rate during the recording of the sound signal as digital information. En castellano: Distorsión en la reproducción de un sonido debido a una frecuencia de muestreo baja durante la grabación de la señal de sonido en formato digital.

Estos son dos ejemplos de aliasing, son dos casos especiales de un significado más genérico:

  • Artefactos creados a través de un proceso de digitalización.

Estos procesos se realizan en muchas partes del proceso de renderizado de gráficos:

  • En el proceso de obtener la forma de objetos a través de una lista de triángulos.
  • En el proceso de obtener triángulos como una matriz de puntos (píxeles).
  • En el proceso de obtener imágenes como un matriz de puntos (texturas).
  • En el proceso de obtener una matriz de puntos a partir de otra matriz (escalado de imágines, rotaciones, etc).
  • Los programas de shaders usan muchas aproximaciones digitales.
  • En el proceso de mover objetos como una serie de imágenes estáticas (animaciones).

Casi todos estos procesos pueden causar efectos de aliasing. Antialiasing realmente es "una técnica para evitar o disminuir un problema de aliasing". Como hay muchos tipos de aliasing uno no se sorprende de que haya muchas técnicas para evitar cada una de ellas. Y por supuesto, sólo funcionan si elegimos la técnica de antialiasing que se corresponda con el problema de aliasing que estamos sufriendo en nuestro contexto.

Ea, estoy algo cansado. En el próximo un poco más de teoría y después algunos ejemplos prácticos.

Espero que os sirva.

Juan María Laó Ramos.
Artículo original