Splinter Cell Blacklist e un nuovo tipo di occlusione ambientale

Splinter Cell Blacklist e un nuovo tipo di occlusione ambientale

Il nuovo capitolo di Splinter Cell su PC offre una grafica sensibilmente superiore rispetto alle controparti console, e segna il debutto di una nuova tecnica di gestione dell'occlusione ambientale, chiamata HBAO+. Nel corso dell'articolo vediamo che tipo di supporto offre il path DirectX 11 in termini di tassellatura, anti-aliasing e, appunto, occlusione ambientale. Trovate anche il videoarticolo.

di Rosario Grasso pubblicato il nel canale Videogames
 

HBAO+

L'occlusione ambientale consente di riprodurre il reale oscuramento di bordi e angoli. Il modello di gestione dell'occlusione ambientale è rimasto pressoché invariato negli ultimi anni. Se si immagina un'ombra proiettata da una fonte di luce molto piccola quest'ombra sarà particolarmente scura e presenterà transizioni nette tra le aree in cui si posa l'ombra e quelle in cui non c'è ombra. Se si aumenta, invece, la dimensione della fonte di luce si ottiene un'ombra più morbida, che diventa più intensa nelle zone di contatto. Insomma, all'aumentare della dimensione della fonte di luce, pensate alla transizione tra una piccola finestra al cielo aperto, le ombre diventano sempre più morbide, mentre nelle zone di contatto sono sempre più nette. In quest'ultimo caso si parla di occlusione ambientale nella sua forma di base.

HBAO+

L'approccio di base per la resa dell'occlusione ambientale corrisponde alla tecnica Screen Space Ambient Occlusion (SSAO). Questo algoritmo viene implementato come un pixel shader, e analizza il depth buffer che è contenuto in ognuna delle texture. Per ogni pixel presente nella schermata, il pixel shader analizza i valori di profondità relativi al pixel e li mette in confronto con il coefficiente di occlusione proprio dei pixel che lo circondano. In questa, che è l'implementazione più semplice dell'occlusione ambientale, il fattore di occlusione dipende esclusivamente dalle differenze in profondità tra il punto campionato e quelli che si trovano intorno ad esso.

Gli sviluppatori di videogiochi hanno a disposizione una grande varietà di algoritmi di occlusione ambientale, visto che i vari motori grafici usano implementazioni differenti tra di loro. SSAO è il tipo di gestione più comune, che si trova ormai in tantissimi giochi di attuale generazione.

HBAO è invece un'implementazione più evoluta, perché, a differenza degli algormitmi di tipo SSAO, integra un algoritmo basato sulla fisica che viene confrontato con i dati provenienti dal depth buffer. HBAO riesce così a migliorare la qualità dell'SSAO aumentando il numero di campionamenti per ogni pixel. Tuttavia, per questioni prestazionali, HBAO deve essere renderizzato in bassa risoluzione (come accade ad esempio in Battlefield 3) o utilizzando approssimazioni via compute shader (come per Batman Arkham City). Questo può comportare in alcuni casi l'apparizione di artefatti e di sfarfallii, che non sono sempre facilmente nascondibili.

Il primo obiettivo con HBAO+ dunque è quello di rendere l'algoritmo abbastanza veloce da renderizzare l'occlusione ambientale in piena risoluzione a 1920x1200 con le GPU più potenti (da GeForce GTX 660 in poi). HBAO+ poi offre un'ottimizzazione su quali campioni vengono scelti dal depth buffer. Inoltre, consegna delle immagini più rifinite e gradevoli alla vista nel caso l'effetto sia applicato su oggetti sottili come erba, foglie e vetro, per i quali la precedente applicazione dell'occlusione ambientale era più problematica. HBAO+ non solo migliora la qualità delle immagini, dunque, ma garantisce anche prestazioni velocistiche superiori.

La differenza principale nel funzionamento dell'algoritmo consiste nel fatto che non si basa più su un unico passaggio su tutto lo schermo che va ad analizzare pixel per pixel, piuttosto sull'approccio Interleaved Rendering.

Naturalmente, come sempre quando si parla di effetti grafici nei videogiochi, una cosa è la teoria e l'altra è la pratica. Distinguere l'implementazione HBAO+ rispetto alla normale HBAO è molto difficile con immagini in movimento, e difficile attraverso gli screenshot. La tecnologia implementata in Splinter Cell, comunque, risalta in maniera efficace i contrasti tra gli oggetti e le zone che presentano ombre di contatto, aiutando il gioco ad essere più realistico e la grafica più fedele. D'altra parte, si ha la sensazione che quella di Blacklist sia un'implementazione preliminare, mentre prestazioni superiori potranno esserci con i prossimi giochi.

Abbiamo raccolto la serie di screenshot che vedete in questa pagina proprio per andare alla ricerca delle differenze che occorrono tra le verie tecniche di occlusione ambientale. Naturalmente, nel caso l'occlusione ambientale sia completamente disabilitata si hanno delle immagini irrealistiche, con poligoni che sembrano fluttuare piuttosto che incastrarsi l'uno con l'altro. Ma, con AO abilitata, le maggiori differenze, se osservate bene le immagini, si notano proprio tra l'implementazione dell'HBAO+ e la precedente implementazione HBAO. Il muro che si trova alla destra di Fisher è più rifinito, presenta un maggior numero di profondità ed è globalmente più fedele. Anche sul cumulo di macerie in alto a destra nel piano superiore si nota una migliore applicazione dell'effetto di ombreggiatura.

 
^