PowerVR Wizard porta il rendering in ray tracing via hardware su mobile

PowerVR Wizard porta il rendering in ray tracing via hardware su mobile

Imagination Technologies ha annunciato la nuova GPU PowerVR GR6500 "Wizard" che utilizza la precedente architettura Rogue ma con nuove unità che consentono il calcolo di scene in ray tracing via hardware

di pubblicata il , alle 13:31 nel canale Telefonia
 

Il ray tracing è una tecnica di rendering che si basa sulla simulazione fisica dei vari raggi di luce che "rimbalzano" sulle varie superfici che compongono la scena. Si tratta di un tipo di rendering estremamente diffuso nei film o nella creazione di scene statiche, ma che ha trovato serie difficoltà a diffondersi nel settore videoludico per via di una complessità computazionale di certo non irrisoria.

Modello Ray Trace

Imagination Technology ha tuttavia mostrato martedì al GDC una nuova GPU mobile in grado di processare in hardware un sistema di illuminazione in ray tracing. PowerVR Wizard GR6500 si basa sull'architettura Rogue già esistente (la stessa presente sulle GPU di iPhone ed iPad di ultima generazione) e da oggi inizia la distribuzione delle licenze per l'uso. Questo significa che i diversi produttori saranno in grado di commercializzare i primi SoC con la nuova GPU a partire da circa un anno da adesso.

Il produttore ha specificato che GR6500 si "adatterà comodamente" all'interno di SoC prodotti a 28nm e potrebbe essere integrato all'interno di tablet o smartphone di fascia alta. È prevedibile che Imagination svilupperà ulteriormente il chip, in modo da realizzarne anche versioni meno onerose in termini energetici da applicare su tipologie di dispositivi differenti. La società non ha definito quanto la nuova GPU sia più grande e costosa rispetto alla stessa basata su architettura Rogue, ma ha fatto intendere che le differenze non sono sostanziali.

PowerVR GR6500

Nell'immagine possiamo vedere le nuove unità per il rendering in ray tracing evidenziate con il colore blu. L'unità principale per la gestione del rendering in ray tracing è la PowerVT Ray Tracing Unit (RTU) che calcola i dati dei raggi e le loro intersezioni. A questo punto l'unità Ray Data Master passa i dati all'hardware per la rasterizzazione, in modo risolvere in pixel i dati presenti sulla RTU.

Quest'ultima è un'unità indipendente all'interno di GR6500, e sulla carta potrebbe permettere di processare la parte in ray tracing senza avere un impatto sensibile sulle performance di rasterizzazione degli elementi tradizionali. In realtà è ragionevole aspettarsi una sorta di compromesso dal punto di vista prestazionale, dal momento che la RTU consumerà una parte della bandwidth di memoria.

Secondo quanto specificato dalla società, i singoli raggi di luce vengono trattati da Wizard come se fossero query di un database e, in base al risultato di una query, la GPU può creare raggi addizionali da gestire. Imagination sostiene che la propria tecnologia è circa 100 volte più efficiente rispetto all'esecuzione di una scena in ray tracing tramite le sole tecniche di GPGPU.

Dal punto di vista delle performance, PowerVR GR6500 utilizza 4 USC (Unified Shader Cluster), per un totale di 128 ALU core. A 600MHz, la GPU permette di superare un throughput di 150GFLOPS. Per quanto riguarda il ray tracing, la nuova GPU è in grado di processare 300 milioni di raggi e 100 milioni di triangoli dinamici al secondo, alla stessa frequenza operativa citata.

Se avessimo un solo raggio per pixel, la GPU sarebbe in grado di renderizzare un'immagine da 5 megapixel a 60fps. Tuttavia, in condizioni naturali sono necessari molti più raggi per ottenere un risultato realistico: James McCombe di Imagination Technologies ha specificato che per i film vengono utilizzati dai 16 ai 32 raggi per pixel, mentre PowerVR Wizard riesce a generare una media di 7-10 raggi per pixel alla risoluzione 720p a 30fps, che diventano 3-5 a 1080p.

Power VR, rendering tradizionale

È pertanto evidente come Imagination Technologies non stia pensando ad una transizione completa all'uso esclusivo di techiche di ray tracing, ma stia considerando un approccio ibrido, come ormai presente da tempo in molti videogiochi. Questi utilizzano una tecnica di rendering chiamata deferred shading, che rende più efficiente l'uso di un sistema di illuminazione proveniente da più sorgenti, generando ombre dinamiche.

ower VR, rendering ibrido in ray tracing

Integrando le tecniche di ray tracing alle già diffuse di deferred shading, McCombe sostiene che è possibile ridurre la complessità di una scena e produrre al tempo stesso immagini di qualità più elevata. Imagination Technologies ha già operato alcuni accordi con Unity Technologies in modo che le novità di Wizard vengano implementate sui motori grafici e, nello specifico, sul celebre Unity Engine.

5 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
CrapaDiLegno19 Marzo 2014, 13:57 #1
Interessante.
Se le unità funzionano per davvero con il tempo è possibile che diventino parte preponderante della GPU e si avrà (finalmente) motori raytracing real-time al posto della ormai vetusta rasterizzazione di scene create con milioni di artifici che risultano più o meno reali.

Vedremo che risposta avrà questa innovazione anche tra gli altri attori.
coschizza19 Marzo 2014, 14:16 #2
Originariamente inviato da: CrapaDiLegno
Interessante.
Se le unità funzionano per davvero con il tempo è possibile che diventino parte preponderante della GPU e si avrà (finalmente) motori raytracing real-time al posto della ormai vetusta rasterizzazione di scene create con milioni di artifici che risultano più o meno reali.

Vedremo che risposta avrà questa innovazione anche tra gli altri attori.


l'ideale pero è sempre una soluzione ibrida perche sia la rasterizzazione che il RT hanno caratteristiche dove eccellono e dove sono davvero carenti. Quindi come si fa anche nei motori di rendering profesionali si utilizzano piu soluzioni in base allo scopo da raggiungere. Una cosa è usare un motore real time che deve gestire 30-60fps un altra è fare il rendering di 1 frame della stessa scena in 24 ore di tempo.

Il RT andava di moda anni fa ma ormai esistono altre tecniche molto piu potenti come resa finale, per esempio i motori unbiased danno risultati superiori e sono sempre piu lo standard nel mercato dei render professionali. Ma parlando di mobile e gpu per giochi dobbiamo restare sulla terra perche ci vorranno decenni prima di poter usare queste tecniche su larga scala.
CrapaDiLegno19 Marzo 2014, 14:24 #3
Originariamente inviato da: coschizza
l'ideale pero è sempre una soluzione ibrida perche sia la rasterizzazione che il RT hanno caratteristiche dove eccellono e dove sono davvero carenti. Quindi come si fa anche nei motori di rendering profesionali si utilizzano piu soluzioni in base allo scopo da raggiungere. Una cosa è usare un motore real time che deve gestire 30-60fps un altra è fare il rendering di 1 frame della stessa scena in 24 ore di tempo.

L'ibrido non è l'ideale, è un compromesso.
L'ideale (e perfetto) è il RT in real time. Ovvio che non arriverà domani con queste 3 unità di calcolo montate in una GPU per mobile, ma l'idea è quella che con l'evolversi delle tecnologie, degli algoritmi e dei motori dei giochi si arrivi a sfruttare sempre meno quelle tecniche "pezzotte" usate oggi che sono il compromesso tra qualità e tempo di creazione della scena. Le ombre, come le trasparenze (ah, l'idice di rifrazione, questo mistero) per esempio, oggi sono il punto debole dei motori di rasterizzazione.

Una cosa realizzabile subito da queste unità RT è sicuramente la creazione di texture procedurali poi utilizzabili dai normali motori di rasterizzazione, in modo da rendere acqua, legno ma anche pietre e erba, gas, pelle e trasparenze più realistici della solita texture piatta ripetuta all'infinito senza variazioni particolari "truccata" con le bump o le shadows o highlight posticci.
frankie19 Marzo 2014, 17:28 #4
Mi ricordo il rendering della sfera su Amiga 500. Un pixel ogni non so quanto ed alla risoluzione che era (320*256), per un immagine impiegava 24 ore circa!
Non ricordo che sw era.

Capisco che è quanto di più simile ci sia alla realtà, ma in rt è ancora praticamente impossibile. Certo che un ibrido potrebbe essere la soluzione (x gaming)
CrapaDiLegno19 Marzo 2014, 18:35 #5
Originariamente inviato da: frankie
Mi ricordo il rendering della sfera su Amiga 500. Un pixel ogni non so quanto ed alla risoluzione che era (320*256), per un immagine impiegava 24 ore circa!
Non ricordo che sw era.

Capisco che è quanto di più simile ci sia alla realtà, ma in rt è ancora praticamente impossibile. Certo che un ibrido potrebbe essere la soluzione (x gaming)


Era POV-Ray.
Il fatto è che i tempi sono un po' cambiati.
Fai conto che il 68000 nell'Amiga500 andava a 7Mhz x meno di 7MIPS non aveva unità di calcolo matematico (con il 68040 era tutta un'altra storia).
Fai le proporzioni con oggi dove le CPU viaggano solo in frequenza 500 volte tanto, hanno più unità di calcolo all'interno delllo stesso core (superscalari) hanno più core e più unità di calcolo FP a disposizione che macinano più istruzioni per ciclo di clock.
Ora affiancaci una GPU che ha un potenziale di qualche migliaio di unità di calcolo FP, e vedi che le 24 ore si riducono a secondi. Ancora troppo, vero, ma nessuno richiede la realizzazione di una scena perfetta e ancora non ci sono unità di calcolo dedicate (che a quanto pare permettono 2 ordini di grandezza di velocità in più.
Direi che quasi ci siamo. O almeno, la speranza è quella, perché anche se hai il migliore prodotto del mondo, se poi non hai il supporto degli sviluppatori te ne fai ben poco.

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^