Battlefield 3 e cosa c'è dietro Frostbite 2

Battlefield 3 e cosa c'è dietro Frostbite 2

DICE ha rilasciato al Game Developers Conference una serie di informazioni sulla tecnologia destinata a cambiare il modo di concepire la grafica nella nuova generazione. È un'occasione per fare il punto della situazione sulle caratteristiche di gioco di Battlefield 3 finora rivelate e sulle prospettive di questo attesissimo titolo.

di Rosario Grasso pubblicato il nel canale Videogames
Battlefield
 

Illuminazione

Un altro elemento di vitale importanza per una tecnologia grafica di nuova generazione è certamente il sistema di illuminazione. Una delle principali sfide per DICE ha riguardato soprattutto la gestione della traslucenza, ovvero del passaggio della luce in modo diffuso tra le superfici. DICE non ha voluto utilizzare mappe di profondità addizionali o ulteriori effetti di sfocamento delle texture. Le prime, infatti, avrebbero consumato più memoria, mentre i secondi richiedono computazioni significative.

Traslucenza in tempo reale

Per delle traslucenze convincenti, così, è stato necessario calcolare le varie increspature che presentano gli oggetti, e capire il livello di diffusione e di attenuazione della luce. Per la processazione delle increspature si fa ricorso alla tecnologia di Ambient Occlusion. L'Ambient Occlusion contribuisce a conferire realismo ai modelli di riflessione locale in quanto tiene conto dell'attenuazione luminosa in prossimità di volumi occlusi. Contribuisce, quindi, a calcolare l'attenuazione della luce in presenza di angoli, riproducendo ciò che accade nel mondo reale.

La tecnologia di Subsurface Scattering, poi, simula la diffusione e la diffrazione della luce trasmessa attraverso gli oggetti traslucidi, come il ghiaccio e la giada.

Subsurface Scattering

Rispetto alle precedenti versioni delle tecnologie di DICE, quindi, con Frostbite 2 si vuole avere: Deferred rendering in luogo del tradizionale Forward rendering, che non è intelligente e renderizza tutto proceduralmente senza ottimizzare gli spazi; più modelli sui quali viene calcolata l'illuminazione e che sono in grado di rifletterla; la traslucenza; maggiore ottimizzazione e calcoli più rapidi; che tutte queste cose avvengano simultaneamente; effetti di illuminazione sulle particelle; effetti di blooming.

Tutto questo si traduce nella tecnica di radiosity in tempo reale che abbiamo descritto nelle pagine precedenti. Sotto qualche immagine per capire le differenze nella resa finale tra la tecnica attuale e le precedenti.

La pipeline grafica che gestisce le illuminazioni in runtime si compone di tre passaggi. Il primo passaggio è quello del radiosity, di competenza della CPU, in cui vengono aggiornate le informazioni sulle mappe di luci indirette e sulle analisi di probabili illuminazioni. Il secondo passaggio si occupa di applicare le illuminazioni alle geometrie del livello di gioco ed è di competenza della GPU. Vengono memorizzate in questo passaggio le informazioni sulle illluminazioni indirette nel G-buffer. Infine, nel terzo passaggio, Light pass, di competenza ancora della GPU, viene fatto il rendering di tipo Deferred delle superfici con illuminazioni e vengono aggiunte eventuali illuminazioni indirette dal G-buffer.

DICE ha pensato anche a un filtro aggiuntivo, chiamato filmic tone mapping, che fornisce un'ulteriore colorazione agli ambienti di gioco, rendendo lo scorrere delle immagini e le animazioni più cinematografiche.

Il sistema di illuminazione basato su radiosity in tempo reale consente di avere un sistema di gestione delle illimunazioni unificato, visto che tutto passa attraverso la tecnica di radiosity. Bisogna però che il sistema crei delle radiosity maps per ciascun oggetto, in modo da applicare diverse illuminazioni per ogni parte dell'oggetto. Le radiosity maps, però, occupano memoria. Le performance con radiosity in tempo reale sono determinate, inoltre, dalla densità delle fonti di illuminazione e dal numero di sorgenti di luce.

In conclusione, Deferred Shading e Radiosity in tempo reale sono le due principali tecniche su cui DICE sta costruendo la strabiliante resa grafica di Frostbite 2. Si tratta, in sostanza, di ottimizzazioni rispetto alle precedenti tecnologie. Deferred Shading, in soldoni, suddivide l'immagine in piccole parti e processa solamente quelle effettivamente visibili in un determinato istante, consentendo maggiore efficienza nella selezione delle luci e nelle permutazioni degli shader, con rinnovata efficacia nella processazione di quegli elementi che subiscono deformazioni e altri tipi di mutamenti gestiti da Destruction 3.0.

Radiosity in tempo reale, poi, consentirà di processare i raggi di luce a partire da quanto arriva alla telecamera, per poi risalire fino alla sorgente, privilegiando gli oggetti che vedono la sorgente di luce. Dopo la seconda passata di rendering, altre superfici riceveranno la luce a causa del rimbalzo di quest'ultima sulle superfici già illuminate. La scena acquisisce luminosità ad ogni passo, fino a raggiungere una stabilità, dovuta al quasi totale assorbimento della luce da parte delle superfici. Questa tecnica consentirà di gestire molte più informazioni e variabili sulle luci, tornando su quanto precedentemente calcolato e considerando le possibili nuove riflessioni tra oggetti.

 
^