Differentiable Voronoi Ray Tracing Beyond Rasterization Speeds
Il documento introduce VoroTracing, un metodo di ray tracing Voronoi differenziabile che raggiunge una sintesi di nuove viste in tempo reale con un throughput superiore rispetto alle esistenti tecniche basate su raggi e rasterizzazione, co-progettando la rappresentazione della scena, l'ottimizzazione e l'esecuzione su GPU per superare i tradizionali limiti di velocità pur supportando nativamente complessi effetti di camera.
Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Nel mondo della computer grafica, esiste da tempo un fondamentale compromesso tra velocità e flessibilità. Per decenni, il modo più veloce per creare immagini realistiche su uno schermo è stato una tecnica chiamata rasterizzazione. Immaginate un pittore che guarda una scena 3D e la proietta semplicemente su una tela piatta, riempiendo i pixel uno alla volta. Questo metodo è incredibilmente veloce e alimenta i videogiochi e i film che vediamo ogni giorno, ma fatica con gli effetti ottici complessi come la sfocatura di una lente della fotocamera o la distorsione di un grandangolo. Per ottenere quegli effetti, il software deve aggiungere regole speciali e complicate al processo di pittura, rallentandolo spesso o introducendo errori. L'alternativa è il ray tracing, un metodo che imita il modo in cui la luce viaggia realmente. Invece di proiettare un'immagine piatta, il computer spara raggi di luce invisibili dalla telecamera nella scena per vedere cosa colpiscono. Questo approccio gestisce naturalmente tutti i complicati effetti ottici senza regole aggiuntive, ma storicamente è stato troppo lento per l'uso in tempo reale, richiedendo una potenza di calcolo enorme per calcolare anche solo pochi fotogrammi al secondo.
Un team di ricercatori svedesi ha ora sfidato l'idea che si debba scegliere tra la velocità del pittore e la flessibilità dello sparatutto a raggi di luce. Hanno sviluppato un nuovo sistema chiamato VoroTracing che utilizza l'approccio dei raggi di luce, ma è abbastanza veloce da poter essere utilizzato in tempo reale. Il loro lavoro si concentra su un modo specifico di organizzare lo spazio 3D, dividendolo in un mosaico di bolle irregolari, molto simile alle cellule di un favo ma con forme che si adattano agli oggetti nella scena. Navigando attraverso queste bolle in un modo intelligente e organizzato, il loro sistema può tracciare i raggi di luce attraverso un ambiente complesso a una velocità che rivaleggia con, e in alcuni casi supera, i metodi tradizionali più veloci.
I ricercatori hanno iniziato analizzando perché il ray tracing fosse rimasto così lento. Hanno scoperto che il collo di bottiglia principale non era solo la matematica per trovare dove un raggio di luce colpisce un oggetto, ma la quantità enorme di dati che il computer doveva caricare ed elaborare per ogni singolo passaggio del viaggio. Nei tentativi precedenti per velocizzare questo processo, il computer spesso si incagliava nel caricare troppe informazioni per ogni piccolo passo, o vagava troppo a lungo nello spazio vuoto prima di trovare un oggetto solido. Il team si è reso conto che, per far funzionare questo sistema, dovevano riprogettare l'intero viaggio del raggio di luce, dal modo in cui la scena viene costruita a come il chip del computer gestisce i dati.
Hanno iniziato cambiando il modo in cui la scena viene rappresentata. Invece di usare un singolo colore uniforme per ogni bolla che cambia solo in base all'angolo da cui la si guarda, hanno fornito a ogni bolla una mappa di texture minuscola e dettagliata. Ciò ha permesso a una singola bolla di contenere schemi e dettagli complessi, il che significa che il computer non doveva creare milioni di bolle minuscole solo per mostrare un muro di mattoni o un albero frondoso. Hanno anche cambiato il modo in cui il computer decide quando smettere di cercare. Addestrando il sistema a rendere lo spazio vuoto tra gli oggetti completamente invisibile e le superfici degli oggetti completamente solide, i raggi di luce potevano attraversare l'aria senza rallentare e fermarsi nel momento esatto in cui colpivano una superficie. Questo ha evitato al computer di sprecare tempo calcolando il colore dello spazio vuoto.
Per rendere il processo ancora più veloce, i ricercatori hanno riorganizzato il modo in cui la memoria del computer memorizza queste bolle. Hanno disposto i dati in modo che le bolle situate vicino tra loro nel mondo 3D fossero memorizzate vicino tra loro anche nella memoria del computer. Ciò ha permesso alla scheda grafica di prelevare tutte le informazioni necessarie per un gruppo di raggi di luce in un unico movimento efficiente, invece di saltare continuamente nella banca di memoria. Hanno anche aggiunto un filtro intelligente che dice al computer di ignorare qualsiasi bolla che sia così tenue da non cambiare l'immagine finale, saltando completamente il calcolo.
I risultati di questa riprogettazione sono stati sorprendenti. Quando testato su un set standard di scene 3D complesse, il nuovo sistema ha renderizzato immagini a 623 fotogrammi al secondo su una scheda grafica di fascia alta. Questo è più di tre volte più veloce del precedente miglior metodo che utilizzava i raggi di luce, ed è anche significativamente più veloce dei metodi tradizionali basati sulla pittura attualmente più veloci nel settore. Le immagini prodotte erano altrettanto nitide e realistiche dei metodi più lenti, senza alcuna perdita di qualità. Forse la cosa più importante è che, poiché il sistema utilizza i raggi di luce, poteva passare istantaneamente alla resa di immagini con diversi effetti di fotocamera. Senza apportare modifiche al software principale, i ricercatori potevano generare immagini con la distorsione di un obiettivo fisheye, la sfocatura di una telecamera in movimento o la profondità di campo di un obiettivo per ritratti, semplicemente cambiando il percorso dei raggi di luce.
Questo lavoro dimostra che la vecchia convinzione — ovvero che il ray tracing sia troppo lento per le applicazioni in tempo reale — potrebbe non essere più vera se il sistema è progettato fin dall'inizio pensando all'hardware. Progettando attentamente il modo in cui la scena viene memorizzata, il modo in cui i raggi di luce viaggiano e il modo in cui il computer elabora i dati, i ricercatori hanno dimostrato che è possibile avere sia la velocità dei moderni videogiochi che la naturale flessibilità della luce reale. Hanno rilasciato il loro codice affinché altri possano usarlo, aprendo la porta a future applicazioni nella realtà virtuale, nella guida autonoma e nei dispositivi mobili, dove hanno già dimostrato il sistema funzionare fluidamente su uno smartphone. Lo studio suggerisce che il futuro della computer grafica realistica non risieda nello scegliere tra velocità e realismo, ma nel trovare un nuovo modo per farli lavorare insieme.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.