Distance Field Ambient Occlusion es una técnica de oclusión ambiental en tiempo real que usa campos de distancia con signo para calcular el sombreado de contacto. Esta técnica permite que los objetos dinámicos proyecten y reciban oclusión ambiental de forma realista en escenas grandes, algo que el SSAO tradicional no puede hacer. Se basa en procesar la geometría de la escena para generar un volumen de datos que almacena la distancia más corta a cualquier superficie.


Cómo funciona DFAO

El proceso comienza al generar un campo de distancia con signo global para la escena. Este SDF es una representación volumétrica tridimensional donde cada voxel almacena la distancia a la superficie más cercana. Luego, el motor gráfico consulta este volumen para cada píxel en pantalla, muestreando el entorno y calculando cuánta luz ambiental podría llegar a ese punto. Al usar un volumen precalculado, evita depender solo de la información visible en pantalla, a diferencia de SSAO.

Ventajas sobre SSAO y limitaciones

La principal ventaja es que funciona con objetos dinámicos y en grandes volúmenes, ya que no se limita a la geometría visible en el búfer de profundidad. Esto produce oclusión ambiental más consistente y estable, sin los artefactos de desvanecimiento típicos de SSAO cuando los objetos se mueven. Sin embargo, requiere más memoria para almacenar el volumen SDF y potencia de procesamiento para generarlo y consultarlo, lo que puede ser costoso para escenas que cambian mucho.

Es la solución perfecta para cuando quieres que tu personaje proyecte sombras suaves bajo una mesa dinámica, pero tu tarjeta gráfica prefiere no enterarse del plan.