La motivazione dietro l'occlusione ambientale (AO) in generale è quella di approssimare il modo in cui le fessure e gli angoli sono spesso ombreggiati, perché meno luce indiretta rimbalza su di essi. Un esempio tratto da una foto del mio ufficio: osserva l'oscuramento lungo i bordi in cui pareti e soffitto si incontrano. La stanza è illuminata solo dalla luce che entra dalla finestra e rimbalza.
Per simulare con precisione questo fenomeno, i renderer offline utilizzano tecniche come la tracciatura dei percorsi e la mappatura dei fotoni. Per scopi in tempo reale, o lo precalcoliamo offline o lo approssimiamo in qualche modo.
L'occlusione ambientale dello spazio dello schermo (SSAO) si basa sull'osservazione che è possibile rilevare angoli e fessure osservando il buffer di profondità (e possibilmente anche i vettori normali) di un'immagine renderizzata, e quindi è possibile calcolare AO approssimativo come post- passaggio. Il buffer di profondità è una rappresentazione approssimativa della geometria nella scena, quindi campionando i valori del buffer di profondità nelle vicinanze di un pixel di destinazione, puoi avere un'idea della forma della geometria circostante e fare un'ipotesi di quanto oscurato da AO esso dovrebbe essere.
Questo diagramma, tratto da Bavoil e Sainz (2008) , mostra come i valori del buffer di profondità, interpretati come una sorta di campo di altezza, rappresentino una versione discretizzata di alcune geometrie. Nel calcolare SSAO per il pixel centrale, guarderesti i valori di profondità dei pixel circostanti e li inseriresti in una formula, progettata per produrre un valore più scuro quando la geometria è più concava (come quella nel diagramma) e più chiara valore quando la geometria è piatta o convessa.
La formula in cui vanno i valori di profondità è chiamata "kernel" per analogia con i kernel di filtro utilizzati per le sfocature, il rilevamento dei bordi e simili. Tuttavia, SSAO è più complicato di una semplice convoluzione lineare dei valori di profondità. Il diavolo è nei dettagli. La distribuzione dei campioni, e la formula che li elabora per generare il valore di occlusione, è stata oggetto di molte ricerche nell'ultimo decennio, cercando di migliorare il realismo e ridurre gli artefatti mantenendo allo stesso tempo buone prestazioni.