Il 19 Marzo scorso, durante il DirectX Developer Day, Microsoft ha finalmente svelato le nuove librerie DirectX 12 Ultimate. L’obiettivo è principalmente quello di unificare sempre di più l’esperienza di gaming tra PC e Xbox.
Oltre che a integrare il massimo supporto alla tecnologia del Ray Tracing, conferiscono anche una maggiore libertà di manovra agli sviluppatori, che potranno contare su delle nuove tecniche.
Questo potrebbe essere davvero un punto di svolta per le console next-gen, con la Xbox Series X in pole position.
Iniziamo con ordine e vediamo queste nuove tecniche in dettaglio .
IL RAY TRACING
Cos’é il Ray Tracing? Detto molto semplicemente, il Ray Tracing è una tecnica di Rendering che punta a simulare realisticamente il percorso della luce in una scena, conferendo illuminazione, ombreggiature e effetti di riflessione molto naturali.
Questa tecnica è relativamente nuova nell’industria del gaming, ma non in quella cinematografica.
Per esempio il film Cars. realizzato da Disney Pixar nel 2006, utilizzava già la tecnologia del Ray Tracing per gli effetti di ombreggiatura e illuminazione.
E qui la domanda sorge spontanea: Perché non lo hanno implementato prima?
Semplice (in realtà no), perché nel gaming è richiesto il Ray Tracing in tempo reale, cosa che richiede grandissimo sforzo computazionale.
VARIABLE RATE SHADING
Il VRS è la prima delle tre tecniche introdotte da Microsoft durante la diretta streaming del 19 Marzo.
Permette agli sviluppatori di poter scegliere come rendere parti diverse di una scena con livelli di qualità differenti. In pratica potranno decidere in che parti della scena ridurre il tasso di Shading e in quali parti invece aumentarlo. Ciò significa che le prestazioni saranno maggiori e, allo stesso tempo, il carico di lavoro della GPU verrà ridotto.
L’esempio mostra il frame di un gioco di corsa nella quale sono evidenziate le aree visive più e meno importanti. Le parti azzurre in alto e al centro sono le aree dove si concentra di più lo sguardo, e che quindi richiedono un maggior dettaglio, mentre ai lati e in basso, dove si concentra meno l’attenzione, i valori di Shading sono inferiori, permettendo così di alleggerire il carico di lavoro.
MESH SHADING
Con il Mesh Shading la GPU controlla in modo intelligente il livello dei dettagli, riducendo il lavoro della CPU e facendosi carico di calcoli molto complessi.
Nella demo qui sotto ci sono 350mila asteroidi, ciascuno composto da 10 milioni di poligoni al massimo. Facendo un rapido calcolo ci sono circa 3.5 milioni di poligoni da processare.
Per avere un po’ più di dettagli tecnici a riguardo vi lascio il link all’articolo (in inglese) dedicato di Nvidia.
SAMPLER FEEDBACK
Un po’ come il VRS, visto in precedenza, il Sampler Feedback punta a ridurre il carico di lavoro della GPU e migliorare le prestazioni. Gli sviluppatori lo possono sfruttare per implementare nei loro giochi algoritmi di streaming delle texture.
Il risultato? Mondi aperti con texture ad alta risoluzioneLa risoluzione del monitor indica il numero di pixel orizzontali e verticali sullo schermo, determinando la nitidezza dell'immagine. Leggi tutto senza “pop-in” o saltellamenti di qualche tipo.
Il Sampler Feedback può essere utilizzato anche per implementare lo shading dell’area della texture, per un rendering più efficiente.
Qui trovate anche l’articolo pubblicato da Nvidia.
Per concludere, vi lascio questo video preso dal canale YouTube di Nvidia per un recap completo e generale riguardo gli argomenti trattati.