Skip to main content

La técnica anti-aliasing de The Saboteur

Pandemic sorprende con el port a PS3.

Si hay un elemento que hemos visto numerosas veces en las comparativas multiplataforma que hemos hecho hasta ahora es, sin duda, la implementación de técnicas de anti-aliasing en la actual generación de consolas HD.

El caso más habitual es que la versión para Xbox 360 de un juego tenga suavizado de bordes, mientras que la versión para PlayStation 3 lo desactive por completo, sea menor o use la técnica Quincunx específica de nVidia, la cual suaviza los bordes pero también "emborrona" toda la textura en el proceso.

Ninguna de estas opciones es particularmente atractiva (aunque el Quincunx tiene su utilidad en determinados escenarios), y tampoco lo es hacer que toda la pantalla sea más borrosa, como hacen algunos desarrolladores (lo que en DF llamamos "el efecto vaselina"). Pero en juegos recientes, como Brütal Legend o Overlord II, se han intentado aplicar otras técnicas - buscar sólo los bordes y hacerlos más borrosos, manteniendo el detalle de la textura. Es mejor que nada, pero no es suficiente.

La versión para PS3 del The Saboteur de Pandemic es diferente. Es especial. Intenta algo nuevo que nunca habíamos visto en una consola o en un PC, y los resultados son espectaculares. En el mejor de los casos se obtiene un suavizado de bordes mejor que en el anti-aliasing 16x multisampling, produciendo un efecto mejor que el conseguido con GPUs de gama alta pero sin comprometer el rendimiento. Compáralo, por ejemplo, con el máximo del hardware de Xbox 360: 4x MSAA.

Empecemos con una rápida comparativa del efecto en ambas versiones del juego. Es interesante dejar claro que tanto la versión para Xbox 360 como PC de The Saboteur no tienen ningún tipo de soporte para anti-aliasing. Es algo exclusivo para los poseedores de la versión de PS3, cuya razón explicaremos más adelante. Aunque la total ausencia de AA en la versión para Xbox 360 es decepcionante, a efectos de este artículo nos beneficia para poder ver un antes y un después que ilustre mejor la técnica aplicada en PS3.

The Saboteur no tiene anti-aliasing en Xbox 360, lo cual hace que sea más fácil explicar la técnica de anti-aliasing de la versión PS3. Las diferencias en iluminación, sin embargo, es algo que trataremos en futuras comparativas.

¿Cómo lo han hecho? En los comentarios de un post del PlayStation Blog americano, Tom French, de Pandemic, habla sobre "usar las SPUs para hacer un filtrado FSAA a pantalla completa". Los procesadores satélite del Cell son perfectos para hacer cálculos rápidos de pequeños grupos de datos, lo cual hace que sean ideales para la tarea de procesar todo el framebuffer en busca de bordes y a continuación suavizarlos.

Algunos usuarios del foro de Beyond3D no tardaron en empezar a investigar. Es una técnica inicialmente impulsada por Intel, que se explica de forma excelente en varios ejemplos de este post, el cual muestra el potencial real de esta técnica, y cómo se compara con el método de Brütal Legend de suavizado de bordes. No hay punto de comparación: el denominado anti-aliasing morfológico (o MLAA) visto en The Saboteur está a años luz de todo lo que hemos visto cuando se usa en condiciones óptimas.

Al ser una técnica experimental no todo es perfecto. Cuando los bordes en el juego tienen un ancho de un pixel o menos, la técnica de detección no acaba de funcionar. Pandemic analiza el framebuffer al completo - incluyendo los elementos del HUD - lo cual provoca artefactos en la superposición de los textos. En este juego probablemente es inevitable: cuando la GPU empieza a dibujar el siguiente frame, las SPUs están ocupadas con el AA, y para que se de esa situación hay que analizar el frame al completo.

Pandemic no ha hablado demasiado sobre la técnica de AA, aunque sus desarrolladores han filtrado algunos detalles en los foros de NeoGAF. Según ellos, el filtro se aplica a la luminosidad de cualquier escena. Es una forma muy inteligente de mantener la velocidad pero, al mismo tiempo, algunos colores - rojo y negro, por ejemplo - tienen niveles similares de luminosidad, con lo cual el filtro detecta la mayoría de los bordes pero pierde otros. Adicionalmente, en algunos casos se producen problemas de "pelusa" en los bordes, lo cual sin más aclaraciones de los desarrolladores son difíciles de explicar. ¿O quizás es simplemente el efecto de procesar una pantalla con motion blur?

Aunque las propiedades de suavizado de bordes son impresionantes, a veces se producen ciertos artefactos, como se puede ver en estas imágenes. Por suerte casi no afecta a la presentación en general.

Lo que tenemos en The Saboteur para PS3 es una técnica experimental, y puedes hacerte una idea de que el estilo visual se adapta de forma excelente a ella. En la versión para Xbox 360 la cantidad de jaggies no es un problema grave; el juego no tiene demasiado alto contraste entre bordes, y es bastante suave en general. En este tipo de entorno, la técnica MLAA usada por Pandemic funciona de forma excelente, y en la mayoría de los casos hay que fijarse mucho para encontrar artefactos en la imagen. Pero están ahí, y eso lleva a preguntarse cómo funcionaría esta técnica en juegos con un contraste más alto, tipo Battlefield: Bad Company 2, Halo 3 o Uncharted 2, en los que seguramente hubiese tenido problemas.

Pero lo que tenemos aquí es algo nuevo y realmente emocionante desde un punto de vista técnico. Asistimos a cómo la PS3 ataca al problema con un método que ni siquiera las GPUs de gama más alta están usando. No puedes evitar preguntarte si el MLAA, en combinación con MSAA y un filtro para eliminar los artefactos, podría ser integrado en el hardware de la próxima generación de consolas.

También será interesante ver si el MLAA vuelve a aparecer en otro juego PS3 multiplataforma antes de eso, porque parece extremadamente bueno en acción. Al final todo se limitará a lo costosa que sea a nivel computacional la técnica, y si se puede refinar más. Ahí es donde ya no sabemos más. Si algún ex-trabajador de Pandemic quiere arrojar algo de luz al respecto, ya sabe dónde encontrarnos...

También te puede interesar