Nvidia Path Tracing nei videogiochi: cos’è e come funziona?

Ogni anno alla Game Developers Conference vengono mostrate nuove e affascinanti tecnologie destinate agli applicativi videoludici.

Nvidia è da sempre protagonista quanto si tratta di avanzamenti grafici. Basti pensare al DSR o all’Image Scaling. Durante la GDC 2022, l’azienda ha deciso di sbalordire tutti con l’annuncio del Path Tracing, definendolo “la più grande scoperta degli ultimi anni”.

Facile farsi trasportare dall’entusiasmo dopo simili affermazioni. Tuttavia è necessario mettere a fuoco quanto marketing ci sia dietro alle parole del vice-presidente di Nvidia Research, Aaron Lefohn.

Nell’articolo di oggi cercheremo di fare chiarezza, semplificando la questione ai minimi termini per renderla comprensibile a chiunque.

nvidia path tracing

Come funziona il rendering 3D di un videogioco?

La tecnica di rendering 3D utilizzata dai videogiochi moderni si chiama rasterization. Ciò che vediamo sul monitor o la TV mentre giochiamo è l’insieme di tanti modelli poligonali. Questi ultimi sono composti da svariati triangoli, che vengono convertiti poi in pixels attraverso il processo di rasterizzazione.

Questi triangoli contengono informazioni nei loro vertici, come la loro posizione e il loro colore. Una volta convertiti in punti, ogni pixel può assumere un colore iniziale a partire proprio dai dati contenuti nei vertici, per poi subire un processo chiamato shading, che regola le sfumature in base alle luci presenti nella scena 3D.

Abbiamo appena ridotto ai minimi termini un processo in realtà molto complesso e pesante da gestire per le nostre schede video. Motivo per cui GPU più potenti ottengono risultati migliori.

Tuttavia la rasterizzazione è anche la soluzione meno ingorda di risorse, a differenza del Ray Tracing. Quest’ultimo si sviluppa attorno a principi differenti e che necessitano di molta più potenza di calcolo.

Cosa cambia con il Ray Tracing?

Come dice la parola stessa, il Ray Tracing è una tecnica che si basa sul tracciamento di raggi virtuali. Questi raggi hanno lo scopo di simulare il comportamento della luce come nel mondo reale.

Quando apriamo la finestra della camera, i raggi del sole attraversano il vetro e rimbalzano poi su tutte le superfici che incontrano per essere infine catturati dai nostri occhi. Il nostro cervello li elabora e visualizza lo scenario che ci circonda, compresi colori, ombre e svariati altri dettagli.

funzionamento ray tracing

Con il Ray Tracing si cerca di replicare queste circostanze. Nello specifico per i videogiochi, il percorso seguito dai raggi viene calcolato a partire dal punto di vista dell’osservatore, ovvero noi seduti dinanzi allo schermo. Si calcola poi come questi raggi incontrino potenziali ostacoli (o per meglio dire oggetti 3D) e come rimbalzino su di loro per tornare al mittente.

Il rimbalzo dei singoli raggi viene condizionato da diversi fattori, proprio come nella realtà. Oggetti che riflettono, oggetti semi trasparenti, oggetti ombreggiati perché parzialmente visibili, senza contare i diversi materiali (legno, plastica, metallo ecc ecc) e il loro specifico comportamento.

Nvidia Path Tracing

Alla nostra GPU spetta il compito di calcolare tutte queste potenziali variabili. In questo modo poi produrrà i pixels finali visualizzati a schermo, contenenti le informazioni di colore e di luce risultanti dal processo di Ray Tracing.

Facile intuire quanti calcoli siano necessari per processare una tecnica del genere. Non a caso, per essere gestita in tempo reale, sono necessari componenti hardware dedicati. Ciò avviene già sulle schede video compatibili e sulle console next-gen. Le GPU prive di tali componenti ma aggiornate via driver (come la serie GTX di Nvidia) non riescono a gestire il Ray Tracing con risultati soddisfacenti.

Ciò nonostante, il peso computazionale del Ray Tracing resta altissimo. Nei videogiochi attuali (salvo rarissime eccezioni come Quake II) viene applicato solo parzialmente.

rasterization vs ray tracing

Applicativi pratici del Ray Tracing e risultati ottenuti sino a oggi

A dispetto di quanto si creda o di quanto si legga sui siti specializzati, allo stato attuale non esistono videogiochi davvero in Ray Tracing. Escludiamo rarissime eccezioni che andrebbero approfondite singolarmente.

L’impatto di questa soluzione sulle prestazioni è ancora troppo significativo e gli sviluppatori di videogiochi stanno adottando soluzioni ibride.

In pratica: alla base del rendering in tempo reale c’è ancora la rasterizzazione di cui abbiamo parlato. Il Ray Tracing viene applicato solo a specifici elementi o superfici. In alcuni giochi lo si applica alle ombre, in altri magari ai riflessi.

Nonostante sia questa la realtà dei fatti, l’industria introduce al pubblico una nuova terminologia: il Path Tracing. Una soluzione ancora più complessa e ingorda di risorse.

Battlefield V ray tracing

Ray Tracing e Path Tracing, quali sono le differenze?

Molto spesso le terminologie tecniche vengono strumentalizzate ai fini del marketing. Circostanze che possono mettere in difficoltà chi cerca di semplificare i concetti con un fine analitico.

Conviene quindi adoperare lo stesso linguaggio dei produttori, senza addentrarsi in spiegazioni specifiche e trasversali, onde evitare di ubriacare i lettori.

In entrambi i casi parliamo di tecniche tutt’altro che nuove. Una prima spiegazione del Ray Tracing risale addirittura al 1966 e si parla di Path Tracing già da metà anni ’80.

La vera notizia sta nel fatto che gli ingegneri di Nvidia sono al lavoro per portare queste tecnologie nel mondo della grafica in tempo reale. Una sfida senza precedenti.

Nvidia path tracing

Non è del tutto corretto scindere il Ray Tracing dal Path Tracing. Stesso principio, stessi applicativi, risultati solo potenzialmente diversi a seconda di svariati fattori.

Nella realtà che ci circonda, una stanza può disporre di diverse fonti di luce. I raggi possono rimbalzare in base a svariati angoli di impatto con i vari oggetti, intersecandosi e generando ulteriori sfumature di colore, rifrazione e ombreggiatura.

Lo scopo dei calcoli alla base di Nvidia Path Tracing è quello di simulare le stesse circostanze, considerando tutte le sorgenti dirette o indirette generate dagli oggetti presenti nella scena 3D. Per questo si tratta di una sfida senza precedenti nell’ambito della grafica in tempo reale.

Path tracing vs Ray Tracing

Cosa cambierà con il Path Tracing?

Ipotizzare oggi un applicativo pratico del Path Tracing nel rendering in tempo reale è tremendamente prematuro.

Tuttavia l’evoluzione tecnologica avanza a grandi passi. Ergo è questione di tempo. Quanto tempo dipenderà dal modo in cui lavoreranno i produttori hardware e software.

I miglioramenti dovuti al ray tracing sono tangibili. Variabili da gioco a gioco ma pur sempre significativi, sebbene vincolati a specifici elementi o superfici.

Ray tracing on vs off

Negare il netto passo avanti rispetto alla sola rasterizzazione sarebbe negare l’evidenza. Prendiamo infatti come riferimento i tripla A nelle loro versioni PC. Ergo il lavoro di Nvidia verso il Path Tracing è senza dubbio una notizia interessante.

La grande N crede ciecamente in un futuro di questo tipo. I suoi ingegneri stanno lavorando a nuovi hardware pensati per gestire al meglio tali tecnologie e probabilmente anche a nuovi strumenti da mettere nelle mani degli sviluppatori. L’obiettivo è agevolare e incentivare lo sviluppo di titoli compatibili.

Nel breve periodo è lecito aspettarsi sempre più tripla A basati su soluzioni ibride. Sicuro è anche un progressivo miglioramento di queste soluzioni, ma quando assisteremo a una vera rivoluzione?

Path tracing tech demo

Il futuro del rendering secondo Nvidia

Al di là delle campagne promozionali dei vari produttori, il Ray Tracing è ancora una novità per quanto riguarda la grafica 3D in tempo reale.

Nella storia del cinema esistono esempi di lungometraggi in CGI che fanno ampio uso di queste tecnologie. Tuttavia è un settore completamente diverso. Le workstation possono permettersi di impiegare ore per renderizzare un singolo fotogramma.

I videogiochi sono concettualmente agli antipodi. Il frame-rate è quasi sempre prioritario.

Path tracing Bounce

Ciò nonostante la strada è già stata tracciata. Stando alle stime dell’azienda californiana, l’approccio a queste soluzioni, unito a tecniche di accelerazione come il Bounding Volume Hierarchy, ha dato una grossa spinta all’evoluzione della grafica 3D. Nvidia è convinta che una realtà in Path Tracing non sia più così distante. Lo dimostra anche con il lavoro svolto sui suoi hardware proprietari.

Le prime tech demo evidenziano un netto passo avanti rispetto all’attuale e limitato uso del Ray Tracing. Mostrano una gestione di luci, ombre e colori mai così vicina al concetto (seppur astratto) di fotorealismo. Sono appunto semplici dimostrazioni, che non condividono le stesse necessità del videogioco vero e proprio.

Non ci resta dunque che aspettare per vedere quando gli sviluppatori riusciranno a gestire tali tecnologie in tempo reale senza eccessivi compromessi prestazionali.

Path tracing esempio

Facebook Comments
What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0

Articoli Correlati


© Copyright © 2019 videogiochitalia.it All Rights Reserved