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
 

DirectX 11

Deferred Shading di tipo tile-base è pensata da DICE per sfruttare al meglio le DX 11 e nella fattispecie è strutturata in modo da sfruttare l'API ComputeShader presente nelle DirectX 11, che sfrutta l'elaborazione di tipo general-purpose della GPU su Windows Vista e 7. Il ComputeShader utilizza le risorse della GPU per eseguire lavori di post-elaborazione, come ad esempio gli effetti di sfocatura. La pipeline grafica può ora generare strutture di dati che sono più adatti ad applicazioni generiche, che poi possono essere processate dal ComputeShader. Nel dettaglio, in Battlefield 3 la pipeline grafica può elaborare superfici opache, combinare illuminazioni e shader, renderizzare superfici trasparenti.

Tra le operazioni della pipeline grafica, il motore grafico realizza una lista dei pixel che hanno bisogno di illuminazione completa individuale. I pixel che si trovano negli angoli degli oggetti inoltre necessitano anche dell'applicazione dell'anti-aliasing di tipo MSAA Compute Shader. Per ogni pixel, quindi, viene verificato il tipo di illuminazione da applicare, determinato se serve illuminazione individuale e se necessita dell'applicazione dell'anti-aliasing. Quando tutti i pixel sono stati processati si passa alla sincronizzazione.

In Battlefield 3 avremo aree enormi e la possibilità di vedere dettagli su distanze realmente cospicue. Frostbite 2 ha un sistema di virtual texturing procedurale, che è in grado di gestire streaming di texture, di maschere e di mappe dei colori. Per la gestione di questa componente del gioco vengono nuovamente in soccorso le DirectX 11 con la tecnica di Terrain Displacement Mapping.

Gli sviluppatori svedesi sono riusciti ad avere così terreni rugosi e dettagliati e la gestione separata di ogni singolo tratto di terreno. La tecnica di tessellation, così, consente di avere la distruzione in ogni pare della mappa e la deformazione di parti della texture.

Terrain Displacement Mapping

Per il 3D, poi, DICE parla di rendering 3D esplicito. Frostbite 2 renderizzerà ciascun pixel due volte per avere una fedeltà dell'immagine allineata a quella delle tradizionali immagini 2D.

Questa procedura consentirà di avere immagini con qualità allineata a quella delle tradizionali immagini 2D, ma ovviamente richiederà una capacità di calcolo molto elevata. Secondo DICE, potrà essere abilitata solo se si dispone di hardware molto performante, perché il motore grafico del gioco consumerà il doppio delle risorse.

Il rendering 3D esplicito richiede hardware DirectX 11 e, ovviamente, un monitor 3D. La tecnica di rendering è compatibile con Deferred Shading e anti-aliasing SRAA, ovvero le altre tecniche che funzionano normalmente in 2D. È inoltre applicata a tutte le superfici dello scenario renderizzate.

Oltre che per garantire l'originale fedeltà dell'immagine, la tecnica studiata da DICE aggira alcuni limiti del tradizionale metodo 3D Vision, usato nella maggior parte dei giochi per PC. Principalmente questo non è compatibile con Deferred Shading, e ovviamente non è compatibile con le GPU AMD e Intel. Inoltre, le superfici trasparenti, a detta di DICE, non mantengono la corretta profondità 3D. Ovviamente, Battlefield 3 continuerà a supportare anche Nvidia 3D Vision e AMD HD3D.

La differenza tra la tecnica di rendering 3D di DICE e quelle tradizionali è che queste ultime, invece di calcolare ogni frame di gioco per ciascuno dei due occhi, generano due immagini bidimensionali a partire dalla scena tridimensionale e poi sono le due immagini bidimensionali, invece che la scena originale, ad essere proiettate sugli schermi.

L'elaborazione di un numero molto alto di oggetti per ogni schermata di gioco può comportare una perdita considerevole di prestazioni. Frostbite 2, pertanto, userà le tecniche di istanziamento DirectX 11. Queste consentono di caricare tanti oggetti con caratteristiche simili per ciascuna schermata riducendo l'impatto sulle prestazioni. Ci saranno quindi un sacco di materiali per ogni scenario e tante varianti, shadow map complesse, alto dettaglio anche sulle distanze e il rendering esplicito di cui abbiamo già parlato.

Instancing data

Il rendering dei detriti, del fogliame, degli oggetti distrutti e degli effetti particellari è quello che trae maggiori benefinici dall'istanziazione. L'istanziazione è migliorata in maniera considerevole con le DX 11 rispetto alle DX 9 secondo DICE. Con le vecchie API non poteva essere efficientemente utilizzata in diversi casi e andava bene solo nel caso di istanziamento di oggetti di piccole dimensioni. Con le DX 11 si possono fare chiamate arbritrarie e non limitate ad elementi fissi nell'immagine. Supporta array di oggetti poer ogni istanza e altre strutture di dati.

Lo streaming di texture è altresì molto importante in Battlefield 3. Alcuni livelli di gioco, infatti, hanno più di un GB di texture, e quindi non tutte le texture possono essere contenute nella memoria della scheda video. Frostbite 2 supporta una nuova tecnologia che consente di fare lo streaming di enormi dimensioni che sono modificabili dagli artisti in ognuna delle loro parti.

Nella sua presentazione al GDC, poi, DICE ha parlato anche di anti-aliasing. Per la software house svedese creare un'esperienza di gameplay fluida è essenziale, e ridurre la scalettatura dei bordi è fondamentale in quest'ottica. Inoltre, le tecniche di anti-aliasing si devono sposare con il nuovo Deferred Shading. DICE usa quattro metodi di anti-aliasing in Battlefield 3: MSAA, Multisample Antialiasing; FXAA, Fast Approximate Antialiasing; SRAA, Sub-pixel Reconstruction Antialiasing; TSAA, Transparency Supersampling Antialiasing.

I quattro metodi offrono risultati qualitativi e prestazionali differenti. Il primo è quello che offre la maggiore qualità, ma richiede GPU di ultima generazione. FXAA consuma meno risorse ma non si sposa bene con gli effetti di sfocatura e in generale con le immagini in movimento. SRAA è la migliore soluzione per cogliere i dettagli su piccola scala, ma l'integrazione non è facile per via dei passaggi extra che la tecnica richiede.

Ovviamente, nessuna delle soluzioni AA risolve completamente il problema delle scalettature. Secondo le slide di DICE, il fogliame rientra fra le superfici che presentano le maggiori difficoltà.

 
^