VXAO transforma los objetos espaciales del mundo en voxelstransforms y los usa para calcular sombras. La oclusión ambiental es una opción de gráficos disponible en el menú de configuración de muchos videojuegos. Si bien algunos juegos explican que la oclusión ambiental mejora las sombras, casi ningún juego explica en detalle lo que hace.
¿Qué es la oclusión ambiental?
La oclusión ambiental es una técnica de sombreado que simula cómo los objetos oscurecen la iluminación ambiental. Está pensado como una herramienta para hacer sombras lo más realistas posible, con bordes interiores y áreas debajo de objetos que tienen sombras más oscuras.
Consejo: Ocluir es otra palabra para obstruir o bloquear, por lo que Oclusión ambiental simula cómo los objetos bloquean la luz con el fin de proyectar sombras realistas.
En su forma más simplista, Ambient Occlusion solo calcula las sombras que se proyectarían desde una fuente de luz difusa en el cielo. Las implementaciones más avanzadas también tienen en cuenta otras fuentes de luz como lámparas, linternas y flashes de boca.
El primer juego que incluyó la oclusión ambiental fue el juego Crysis de 2007.
¿Qué tipos de oclusión ambiental existen?
SSAO, o Screen-Space Ambient Occlusion, es una implementación particularmente liviana de la oclusión ambiental. «Espacio de pantalla» es un término que significa que SSAO solo tiene en cuenta los objetos que se están renderizando. Esto significa que los objetos que no están visibles actualmente no tendrán ningún cálculo realizado.
Por ejemplo, si hay una torre que proyecta una sombra en una calle y gira la cámara para que la torre ya no se muestre en la pantalla, la sombra que arroja desaparecerá. Del mismo modo, un objeto distante bloqueado de la vista por un objeto más cercano no proyectará una sombra, aunque debe ser visible, como un árbol bloqueado por un camión. En algunos casos, esto puede significar que una sombra que debería aparecer debajo de un objeto como un tanque, no aparece, porque la parte trasera, superior e inferior del tanque no se renderizan y por lo tanto no bloquean la luz.
SSAO también tiene problemas para proyectar sombras donde no debería haberlas, especialmente cuando se ata a dos objetos a diferentes distancias entre sí.
HBAO, o la oclusión ambiental basada en horizonte es una implementación de oclusión ambiental más avanzada de Nvidia. AMD tiene una implementación similar a la que llaman HDAO u Oclusión ambiental de alta definición. Con HBAO, las sombras se aplican con mayor precisión a las superficies, evitando proyectar tantas sombras falsas. Desafortunadamente, el impacto en el rendimiento es significativo, por lo que el efecto solo se representa a la mitad de la escala, lo que significa que el efecto de sombra tiene una resolución más baja.
HBAO + es una versión mejorada de HBAO que aborda una serie de problemas de rendimiento y permite que las sombras se representen a escala completa, sin demasiado impacto en el rendimiento. Esta mayor resolución permite sombras más suaves y uniformes. Los mejores efectos de difuminado de sombras son especialmente importantes para las escenas al aire libre donde los objetos, como las líneas eléctricas, deben proyectar sombras suaves en lugar de duras. HBAO + también corrige problemas que HBAO puede tener con objetos en movimiento parpadeantes o movimiento de la cámara.
VXAO, u Oclusión Ambiental Acelerada por Voxel, es una nueva tecnología de Nvidia. En lugar de utilizar un algoritmo de espacio de pantalla, utiliza un algoritmo de oclusión ambiental de espacio global. Esto significa que los objetos que no están en la pantalla aún pueden proyectar sombras, lo que hace posible proyectar sombras detrás de la cámara y debajo de los objetos que brindan una apariencia mucho más realista. VXAO transforma los objetos espaciales del mundo en vóxeles y los usa para calcular sombras.
Sugerencia: Los vóxeles son modelos de menor resolución que el recuento de polígonos del objeto original. Renderizar texturas en vóxeles sería malo, ya que la forma de los objetos tendría una resolución mucho menor. Sin embargo, para generar sombras, este detalle de objeto reducido proporciona una mejora significativa en el rendimiento al tiempo que causa una disminución insignificante en la calidad.
A diferencia de las implementaciones de oclusión ambiental anteriores, el hecho de que VXAO sea un espacio global significa que es consciente de la distancia entre los objetos, lo que permite que las sombras se calculen con mayor precisión para los objetos más alejados de la sombra. También evita un efecto de halo que a veces se puede ver alrededor de personajes que caminan frente a superficies como paredes. VXAO consume más CPU que las iteraciones de oclusión ambiental anteriores, pero ofrece la mejor calidad de sombra.