Che cos'è il Path Tracing e il Ray Tracing? E perché migliorano la grafica?

Se ultimamente hai dato un'occhiata anche minima alle notizie sui giochi e sulla grafica(gaming and graphics news) , allora hai sentito l'ultima e più grande parola d'ordine: ray tracing . Potresti anche aver sentito una parola dal suono simile chiamata path tracing . E potresti essere totalmente perdonato per non aver compreso appieno quale sia uno dei due processi.

Una semplice spiegazione è che sia il path tracing che il ray tracing sono tecniche grafiche che si traducono in immagini dall'aspetto più realistico al costo di una potenza di calcolo significativamente maggiore. C'è un video di Minecraft(Minecraft video) su YouTube che mostra in modo chiaro gli aspetti particolari del ray tracing, ma illustra anche lo stress che mette su un sistema.

Se questa è l'unica spiegazione di cui hai bisogno, fantastico! Ma se vuoi approfondire e scoprire come funziona ogni tecnica e perché le aziende di hardware GPU(GPU hardware) stanno addebitando una piccola fortuna per le schede compatibili con il ray tracing, continua a leggere.

Rasterizzazione e computer grafica

Qualsiasi immagine che vedi visualizzata sullo schermo di un computer(computer screen) non è iniziata come quell'immagine. Inizia come un'immagine raster o vettoriale(vector image) . Un'immagine raster(raster image) è composta da una raccolta di pixel ombreggiati.

Un'immagine vettoriale(vector image) si basa su formule matematiche che significano che l'immagine può essere aumentata di dimensioni quasi indefinitamente. Lo svantaggio delle immagini vettoriali(vector image) è che è difficile ottenere dettagli più precisi. Le immagini vettoriali(Vector) vengono utilizzate al meglio quando sono necessari solo pochi colori.

Il principale punto di forza della rasterizzazione è la sua velocità, soprattutto rispetto a tecniche come il ray tracing. La tua GPU , o unità di elaborazione grafica, dirà al gioco di creare un'immagine 3D da piccole forme, il più delle volte triangoli. Questi triangoli vengono trasformati in singoli pixel e quindi inseriti in uno shader per creare l'immagine che vedi sullo schermo.

La rasterizzazione è stata l'opzione di riferimento per la grafica dei videogiochi per molto tempo a causa della velocità con cui può essere elaborata, ma poiché la tecnologia attuale inizia a scontrarsi con i suoi limiti, sono necessarie tecniche più avanzate per passare al livello successivo. È qui che entra in gioco il ray tracing.

Il ray(Ray) tracing sembra molto più realistico della rasterizzazione, come illustra l'immagine seguente. Guarda i riflessi sulla teiera(tea pot) e sul cucchiaio.

Che cos'è il Ray Tracing?

A livello di superficie(surface level) , ray tracing è un termine generico che significa qualsiasi cosa, da una singola intersezione di luce e oggetto al fotorealismo completo. Nel contesto più comune utilizzato oggi, tuttavia, il ray tracing si riferisce a una tecnica di rendering(rendering technique) che segue un raggio di luce (in pixel) da un punto prestabilito(set point) e simula come reagisce quando incontra gli oggetti.

Prenditi un momento e guarda(moment and look) il muro della stanza in cui ti trovi. C'è una fonte di luce sul muro o la luce viene riflessa dal muro da un'altra fonte? La grafica ray(Ray) traced partirebbe dal tuo occhio e seguirebbe la tua linea di vista fino al muro, quindi seguirebbe il percorso della luce dal muro fino alla fonte di luce.

Il diagramma sopra illustra come funziona. Il motivo degli "occhi" simulati (la fotocamera in questo diagramma) è quello di ridurre il carico sulla GPU .

Come mai? Bene, il ray tracing non è nuovo di zecca(t brand-new) . In realtà è in circolazione da un po' di tempo. Pixar utilizza tecniche di ray tracing per creare molti dei suoi film, ma la grafica ad alta fedeltà fotogramma per fotogramma alle risoluzioni ottenute dalla Pixar richiede tempo.

Un sacco(A lot) di tempo. Alcuni frame della Monsters University hanno impiegato 29 ore ciascuno. Toy Story 3 ha impiegato in media 7 ore per fotogramma, con alcuni fotogrammi che hanno impiegato 39 ore secondo una storia del 2010 di Wired.

Poiché il film illustra il riflesso della luce da ogni superficie per creare lo stile grafico che tutti(style everyone) conoscono e amano, il carico di lavoro(work load) è quasi inimmaginabile. Limitando le tecniche di ray tracing solo a ciò che l'occhio può vedere, i giochi possono utilizzare la tecnica senza causare un collasso (letterale) del processore grafico.

Dai un'occhiata all'immagine qui sotto.

Non è una fotografia, nonostante sembri reale. È un'immagine ray-tracing. Prova a immaginare quanta potenza è necessaria per creare un'immagine simile a questa. Un raggio può essere tracciato ed elaborato senza troppi problemi, ma cosa succede quando quel raggio rimbalza su un oggetto?

Un singolo raggio può trasformarsi in 10 raggi e quei 10 possono trasformarsi in 100 e così via. L'aumento è esponenziale. Dopo un punto, i rimbalzi e le riflessioni oltre il terziario e il quaternario mostrano rendimenti decrescenti. In altre parole, richiedono molta più potenza per calcolare e visualizzare di quanto valgano. Per il bene del rendering di un'immagine, è necessario tracciare un limite da qualche parte.  

Ora immagina di farlo da 30 a 60 volte al secondo. Questa è la quantità di energia necessaria per utilizzare le tecniche di ray tracing nei giochi. È certamente impressionante, giusto?

La disponibilità di schede grafiche in grado di eseguire il ray tracing aumenterà con il passare del tempo e alla fine questa tecnica diventerà prontamente disponibile come la grafica 3D. Per ora, tuttavia, il ray tracing è ancora considerato l'avanguardia della computer grafica. Quindi, come entra in gioco il tracciamento del percorso?

Che cos'è il tracciamento del percorso?

Il path tracing(Path tracing) è un tipo di ray tracing . Rientra sotto quell'ombrello, ma dove il ray tracing è stato originariamente teorizzato nel 1968, il path tracing è entrato in scena solo nel 1986 (e i risultati non sono stati così drammatici come quelli attuali).

Ricordi l'aumento esponenziale dei raggi menzionato prima? Il tracciamento del percorso(Path) fornisce una soluzione a questo. Quando si utilizza il tracciato del percorso per il rendering, i raggi producono un solo raggio per rimbalzo. I raggi non seguono una linea(set line) fissa per rimbalzo, ma sparano in una direzione casuale.

L'algoritmo di tracciamento del percorso prende quindi un campionamento casuale di tutti i raggi per creare l'immagine finale. Ciò si traduce nel campionamento di una varietà di diversi tipi di illuminazione, ma soprattutto dell'illuminazione globale.

Una cosa interessante del path tracing è che l'effetto può essere emulato attraverso l'uso di shader. Di recente è apparsa una patch di shader per un (shader patch)emulatore Nintendo Switch(Nintendo Switch emulator) che ha permesso ai giocatori di emulare l'illuminazione globale tracciata in titoli come The Legend of Zelda: Breath of the Wild e Super Mario Odyssey. Sebbene gli effetti siano belli, non sono completi come il tracciamento del percorso(path tracing) reale .

Il path tracing(Path tracing) è solo una forma di ray tracing. Sebbene sia stato salutato come il modo migliore per eseguire il rendering delle immagini, il tracciamento del percorso ha i suoi difetti.

Ma alla fine, sia il path tracing che il ray(path tracing and ray) tracing si traducono in immagini assolutamente belle. Ora che l'hardware delle macchine consumer ha raggiunto un punto in cui il ray-tracing è possibile in tempo reale nei videogiochi, l'industria è pronta a fare un passo avanti che è impressionante quasi quanto il passaggio dalla grafica 2D alla grafica 3D.

Tuttavia, ci vorrà ancora del tempo, almeno diversi anni, prima che l'hardware necessario venga considerato "abbordabile". A partire da ora, anche le schede grafiche necessarie costano ben oltre $ 1.000.



About the author

Sono un esperto di computer e sono specializzato in dispositivi iOS. Aiuto le persone dal 2009 e la mia esperienza con i prodotti Apple mi rende la persona perfetta per aiutare con le loro esigenze tecnologiche. Le mie competenze includono: - Riparazione e aggiornamento di iPhone e iPod - Installazione e utilizzo di software Apple - Aiutare le persone a trovare le migliori app per i loro iPhone e iPod - Lavorare su progetti online



Related posts