SSAO vs. HBAO vs. HDAO - ¿Cuál es la verdadera diferencia?

La opción me confundió cuando pude elegir entre SSAO, HBAO y HDAO en Far Cry 3.

Al buscar en Google no obtuve ninguna respuesta, ni tampoco al activar cada opción y comparar los resultados. Parece que estoy ciego o algo así.

En primer lugar, ¿cuál es la mejor calidad? En segundo lugar, ¿cuál es la diferencia real entre estas opciones?

Solución

H*AO ofrece una mejor calidad pero con un mayor impacto en el rendimiento.

El SSAO es menos preciso pero mejora la calidad de la imagen con una penalización de rendimiento mucho menor.

Si vas a utilizar H*AO, por lo que tengo entendido, debes seleccionar HDAO si tienes una tarjeta ATI o HBAO si tienes una tarjeta nVIDIA.

HBAO y HDAO son esencialmente la misma cosa, pero diferentes implementaciones específicas del proveedor.

Aquí hay algunas capturas de pantalla de BF3 que pueden ayudar: http://www.reddit.com/r/gaming/comments/kwjtw/my_battlefield_3_screenshot_comparison_ssao_vs/

Recomiendo utilizar el enlace que proporcionan aquí: http://www.flickr.com/photos/bmorlok/6197863052/in/set-72157627662461565/lightbox/ y utilizar las teclas del cursor para pasar rápidamente de una a otra de las 3 capturas de pantalla.

Usted debe ser capaz de identificar rápidamente donde la sombra está teniendo lugar entre ninguno, SSAO, y HBAO.

Fíjese en las zonas de intersección de los objetos. Por ejemplo, donde el suelo se encuentra con la pared, donde un pilar se encuentra con el techo, los arbustos, los pedazos de escombros en el suelo.

Me he tomado la libertad de coger una de las fotos y resaltar las zonas en las que debes fijarte al pasar de un lado a otro.

Notará que el SSAO se sombrea en estas mismas áreas, pero es MUCHO menos pronunciado.

ssao vs hbao]1

Comentarios (3)

En primer lugar, la oclusión ambiental en el espacio de la pantalla no es un efecto con base física en absoluto, por lo que no hay ningún argumento de realismo. La teoría del efecto establece básicamente que

cualquier superficie que no esté cubierta (opcionalmente dentro de una cierta distancia) se ilumina

Incluso si está trazado con rayos, es sólo una forma rápida y sucia de resaltar pequeños detalles en los modelos.

En segundo lugar, todas las técnicas en cuestión son sólo iteraciones del SSAO; todas ellas funcionan como un proceso posterior, después de que la escena haya sido renderizada. Esto significa que los sombreadores tienen que hacer algo mágico para producir algo preciso a partir de la poca información que queda después de la rasterización.

SSAO

Esta es la técnica más antigua. Supone que cualquier píxel dentro de un radio determinado del espacio de la pantalla es un posible oclusor. Esto se aproxima calculando la diferencia entre el buffer Z (profundidad) borroso y el original y oscureciendo el resultado si la versión borrosa tiene un valor mayor.

El problema de este enfoque es que oscurece falsamente y no detecta ciertas características. Tendrá que fijarse bien en este pilar, pero se dará cuenta de que, aunque el techo está falsamente ensombrecido en los lados, no se ve afectado en la unión.

El techo se une al pilar. Una demostración de SSAO]1

Este documento tiene más ejemplos gráficos.

HBAO

Este algoritmo intenta resolver los problemas de SSAO. Lo hace utilizando más información, concretamente el mapa de normales. En lugar de buscar oclusores alrededor de un píxel en el espacio de la pantalla, intenta restaurar pequeños trozos de la escena y hacer una aproximación más informada del brillo que debería haber.

Puedes notar que el techo se ve claramente hacia abajo, además, el pilar es más oscuro en la parte superior.

El pilar sostiene el techo. HBAO

Un documento de NVIDIA tiene más detalles al respecto.

Conclusión

HBAO es un algoritmo más reciente, produce aproximaciones mucho más cercanas a... una aproximación.


Las imágenes son fragmentos de estas capturas de pantalla.

Comentarios (3)

El HBAO también implica el uso de técnicas de plano de imagen del ojo para simular las diferencias de tamaño del iris cuando se mira desde ciertos niveles de luz a otros niveles de luz.

HDAO no hace esto.

Comentarios (1)