Annunciato pubblicamente il 14 marzo, solo oggi cade l'NDA sulle nuove tecnologie implementate da NVIDIA nel suo tool destinato ad "aiutare" gli sviluppatori nella creazione di videogames sempre più realistici sia dal punto di vista della fisica degli oggetti che della fedeltà di riproduzione degli scenari in cui amiamo immergerci.

Stiamo ovviamente parlando di GamesWorks, un vero e proprio ecosistema software a cui NVIDIA dedica un team di oltre 300 ingegneri, che offre agli sviluppatori librerie software destinate alla simulazione della fisica e degli effetti visivi facilmente fruibili tramite un ambiente di sviluppo integrato dotato di debugger, nonché di sistemi di profilazione e utility integrati.

Le novità più interessanti inserite in questa release 3.1 del GameWorks SDK comprendono tre nuove tecniche per il rendering di luci ed ombre dinamiche e due nuove estensioni per la fisica riguardanti la simulazione dei fluidi e dell'interazione tra corpi rigidi, che cercheremo di riassumere di seguito.


NVIDIA rilascia GameWorks SDK 3.1 1


NVIDIA Volumetric Lighting

Il primo dei tre algoritmi è dedicato alle creazione di luci volumetriche sempre più realistiche, in quanto integra al suo interno delle routine in grado di calcolare e simulare l'interazione dei fasci luminosi con l'ambiente circostante in relazione al grado di interazione con le particelle presenti nell'atmosfera.

Uno dei primi titoli ad utilizzare questa tecnologia è il recente Fallout 4 e nelle slides successive potremo apprezzare come si possa generare tale effetto su uno scenario campione.


NVIDIA rilascia GameWorks SDK 3.1 2


Partiamo con un immagine base renderizzata utilizzando algoritmi di illuminazione diretta e mappatura delle ombre.


NVIDIA rilascia GameWorks SDK 3.1 3


Il primo passo è l'estrusione dei fasci di luce presenti nella scena che ne determinano la geometria ed il volume su cui dovrà essere applicato l'effetto desiderato.


NVIDIA rilascia GameWorks SDK 3.1 4


Si passa poi al calcolo della luce diffusa in relazione all'interazione con le particelle dell'atmosfera.


NVIDIA rilascia GameWorks SDK 3.1 5


E si aggiunge, infine, il risultato del calcolo alla scena iniziale per un risultato molto più realistico e di sicuro impatto.


NVIDIA Voxel Accelerated Ambient Occlusion (VXAO)

Gli algoritmi di illuminazione basati su Voxel sono stati ulteriormente ampliati da NVIDIA per poter essere applicati anche nella creazione di filtri di occlusione ambientale in real time, che donano profondità e maggior realismo alle scene dei videogiochi.

La VXAO è in sostanza un algoritmo per la generazione delle ombre che si basa su tutta la geometria della scena, utilizzando quindi tutte le informazioni volumetriche degli oggetti presenti, generando un risultato molto più realistico rispetto ai tradizionali algoritmi di occlusione ambientale che utilizzano solo le informazioni spaziali ricavate dal punto di vista dell'osservatore (tecnica di screen space ambient occlusion - SSAO).

Un esempio del risultato della VXAO è chiaramente visibile nei seguenti screenshot di Rise of the Tomb Rider, dove la nuova tecnologia NVIDIA ha fatto il suo debutto.


NVIDIA rilascia GameWorks SDK 3.1 6


Scena generata senza l'applicazione di alcun algoritmo di occlusione ambientale.


NVIDIA rilascia GameWorks SDK 3.1 7


La stessa scena con screen space ambient occlusion.


NVIDIA rilascia GameWorks SDK 3.1 8


La scena con VXAO attiva, in cui si può apprezzare un maggiore realismo delle ombre al di sotto del personaggio seduto, con un corretto effetto di "doppia ombra" o alone sul terreno tra la zona in cui lo stesso è più vicino al terreno.


NVIDIA Hybrid Frustum Traced Shadows (HFTS)

Si tratta di un algoritmo dedicato alla creazione di ombre estremamente fedeli alla realtà, caratterizzate da un realistico effetto di transizione sfumata, dalla massima definizione sino alla massima "morbidezza", calcolato in base alle condizioni di illuminazione e alla distanza dell'ombra dalla geometria che la genera.

L'ombra sarà quindi più definita e scura in prossimità dell'oggetto, per poi "sfumare" e perdere di nitidezza in maniera molto realistica tanto più si allontana da esso.

L'algoritmo HTFS ha fatto il suo debutto nel recente The Division, di cui vi proponiamo due screenshot senza e con HTFS abilitato.


NVIDIA rilascia GameWorks SDK 3.1 9 


Nell'immagine vediamo come sono generate le ombre con l'utilizzo di algoritmi di shadow mapping.


NVIDIA rilascia GameWorks SDK 3.1 10 


E qui il risultato ottenibile applicando il nuovo algoritmo NVIDIA HFTS che, oltre a posizionare correttamente le ombre, genera effetti molto più realistici andando ad incidere maggiormente nelle zone di prossimità all'oggetto e ad ammorbidire l'ombra man mano si allontana da quello a cui corrisponde.

Per quanto concerne invece le estensioni delle librerie PhysX, trovate qui di seguito le novità proposte da NVIDIA con GameWorks SDK 3.1.


NVIDIA PhysX-GRB

Questa è la nuova implementazione dell'algoritmo di simulazione dell'interazione fisica tra corpi rigidi utilizzato in centinaia di titoli e che vanta ora una maggiore efficienza prestazionale.

NVIDIA dichiara un aumento di prestazioni per il calcolo dell'interazione dei corpi rigidi tra le due e le sei volte in condizioni di carico computazionale medio e alto grazie all'implementazione di una pipeline ibrida di istruzioni in grado di essere eseguite su CPU e GPU.


NVIDIA Flow

Il secondo algoritmo dedicato alla fisica si occupa invece dei calcoli necessari alla simulazione del comportamento di fluidi combustibili e può quindi essere utilizzato per la generazione di effetti di fumo e fuoco altamente realistici.

A differenza delle precedenti versioni, il nuovo Flow ha il grosso vantaggio di non essere limitato alla simulazione di fluidi racchiusi in una area predefinita e verrà inoltre integrato nel nuovo Unreal Engine 4 a partire dal secondo trimestre del 2016.

Ancora una volta non possiamo che sottolineare la stretta cooperazione tra NVIDIA e i principali sviluppatori di giochi, scenario difficilmente destinato a cambiare in quanto il colosso di Santa Clara ha già pianificato il rilascio delle prossime versioni di SDK con cadenza semestrale promettendo, ad ogni nuova release, funzionalità aggiuntive sempre più evolute e semplicità di utilizzo ed integrazione.