-

Con la salida de más títulos utilizando tecnologías como HDR e Iluminación Diferida, se ha vuelto un dolor de cabeza para las productoras de tarjetas de video la aplicación de métodos de Anti-Aliasing tradicional (MSAA, FSAA, SSAA, etc).
- 08/12/2011

Con la salida de más títulos utilizando tecnologías como HDR e Iluminación Diferida, se ha vuelto un dolor de cabeza para las productoras de tarjetas de video la aplicación de métodos de Anti-Aliasing tradicional (MSAA, FSAA, SSAA, etc).
AMD le ha ganado la partida a NVIDIA en este campo con el lanzamiento hace un año de MLAA (MorphoLogical Anti-Aliasing), incorporado en la familia 6XXX (y 5XXX más tarde). Este método funciona no muy distinto a como lo hace un efecto de post-procesado en Photoshop, al aplicar un algoritmo de detección de bordes una vez que ha sido renderizada la escena (a diferencia de métodos tradicionales que lo hacen en tiempo real).
El resultado es parecido a un 4xAA MSAA sin la pérdida en rendimiento que esta configuración usualmente implica, e incluye los elusivos Alpha Channels (quienes normalmente no son afectados por los otros métodos sin la ayuda de Temporal AA o EATM).
NVIDIA se dió a la tarea de responder con el anuncio de SRAA (Sub-Pixel Reconstruction Anti-Aliasing) en Enero de este año. Sin embargo, SRAA aún no ha visto la luz 7 meses luego de su anuncio.
En un proyecto aparte, Timothy Lottes, ingeniero de la empresa verde, ha estado trabajando en una versión mejorada de MLAA en una tarea desligada de SRAA que ha bautizado FXAA (Fast Aproximate Anti-Aliasing).
La meta de Lottes es crear un método fácil de integrar, que maneje el aliasing mejor que MLAA sin necesidad de mucho poder de procesamiento, corra en hardware DirectX 9 y resuelva el problema en una sola revisión de sombreado de pixeles.
FXAA I fue dado a modo de prueba a varios desarrolladores con la consigna de ser independiente de la plataforma en que se corra (AMD, NVIDIA, PS3, X360). La idea inicial era dar una herramienta más a los desarrolladores de juegos de consola para permitir flexibilidad sin sacrificar desempeño o comprometer características.
Títulos como F.3.A.R., Duke Nukem Forever, Age of Conan y Battlefield 3 hacen implementación de FXAA I.
Sin embargo, como toda primera versión, el desempeño no siempre es el mejor y en algunos casos resulta contraproducente, dado que la implementación del código varía entre desarrolladores.
Lottes se dió a la tarea de trabajar en FXAA II, exclusivamente para consolas.
El 27 de Julio pasado, Lottes hizo público FXAA III rev 11 y liberó el código fuente de su solución.
Esa misma semana, un internauta bajo el simple pseudónimo de some_dude se dió a la tarea de probar el código de Lottes en su laptop al crear un inyector en tiempo real. some_dude posteó su pequeña proeza en el sitio alemán 3DCenter.org y en cuestión de días soltó 9 versiones de su inyector, que entre las mejoras incluye compatibilidad con DX10 y algunos títulos de DX11.
Los foros de 3DCenter.org, que cuentan con miembros de varios equipos de modificación de juegos a nivel mundial, recibió el trabajo de some_dude con los brazos abiertos e iniciaron sus propias mejoras. Ya existe una versión con efectos extras flotando en los tubos.
Lo más sorprendente de todo, aparte de FXAA en sí y la facilidad de "instalación", es el poco sacrificio en desempeño que implica.
Download: some_dude FXAA beta 9
Download: 3DCenter FXAA beta 1
Ejemplos:
PD: recuerden no utilizarlo en juegos multijugador, puesto que pueden ser baneados por modificar archivos del juego.
PPD: FXAA puede ser utilizado con otras formas de AA.
PPPD: si no nota la diferencia, pues este tema no es para ud.
Recommended Comments
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.