Optix e Iray: NVIDIA mostra le sue tecniche di rendering avanzate

Optix e Iray: NVIDIA mostra le sue tecniche di rendering avanzate

Al GTC NVIDIA ha fatto il punto della situazione sulle sue più recenti tecniche di rendering, capaci di scalare dall'elaborazione sulla GPU locale fino ai super-computer disponibili da remoto.

di Rosario Grasso pubblicata il , alle 16:31 nel canale Videogames
NVIDIA
 

In una session dedicata al GPU Technology Conference che si sta svolgendo a San Jose, i tecnici di NVIDIA hanno mostrato i più recenti passi in avanti fatti con Iray e con Optix, lo strumento pensato per accelerare lo sviluppo di soluzioni personalizzate in ray tracing. Sono state esplorate le tendenze del settore e fatti esempi di produzione per mostrare ai giornalisti come le nuove tecniche possano cambiare il lavoro degli sviluppatori.

NVIDIA Iray

NVIDIA Iray

Optix è un engine di ray tracing che consente di raggiungere un nuovo livello di realismo interattivo aumentando notevolmente la velocità di elaborazione con le GPU NVIDIA sfruttando l'architettura GPGPU messa a disposizione tramite Cuda.

Un passo importante per Optix, illustrato proprio a San Jose, è l'implementazione del nuovo algoritmo di ray tracing basato sulla fisica. Per NVIDIA non è più importante che le immagini sembrino realistiche agli occhi dei giocatori, ma che effettivamente lo siano. Per questo il nuovo sistema di rendering gestisce contemporaneamente illuminazione, ombreggiatura, materiali, inquadrature, tone mapping.

Sostanzialmente si parla della differenza tra motori "biased" e "unbiased". I primi usano delle scorciatoie nel processo di rendering delle scene, mentre i secondi tendono a riprodurre la scena in maniera fotorealistica, ovviamente consumando molte risorse di elaborazione. In particolare, i motori "biased" fanno uso di algoritmi ottimizzati per calcolare illuminazione globale, riflesioni caustiche, rifrazione, sub surface scattering e altri effetti. Ma questo comporta l'introduzione di artefatti sulla scena. I motori "unbiased", invece, utilizzano modelli fisici e ottici fedeli all'originale e tengono conto delle interazioni luminose tra gli elementi della scena.

La complessità e la difficoltà nell'elaborazione aumenta esponenzialmente se si vogliono ottenere migliori prestazioni in termini di illuminazioni realistiche e globali. Ma le nuove tecniche di rendering basate sulla fisica possono risolvere questo problema.

L'algoritmo, infatti, riesce a calcolare la quantità e la qualità delle emissioni della luce sulla base delle proprietà fisiche e geometriche dei materiali coinvolti. Sono tecniche che possono essere usate in vari campi oltre a quello videoludico: ad esempio, avere un rendering rispettoso della fisica nel design consente di ricostruire un'auto e avere un'idea chiara del funzionamento di tutte le componenti prima di andare in fase di produzione.

Optix è analogo alle OpenGL o alle DirectX, ma a differenza di queste ultime due librerie lavora direttamente su Cuda invece che passare attraverso i driver della scheda video. Cuda e i driver sono quindi da vedere come uno strato intermedio tra la GPU e l'applicazione.

Un framework di ray tracing programmabile, continuano i tecnici di NVIDIA, permette il rapido sviluppo di applicazioni in ray tracing ad alte prestazioni: dal rendering completo fino alle funzioni discrete come collisioni, acustica, balistica e irraggiamento.

NVIDIA Iray

NVIDIA Iray

Con la versione 3.7 di Optix NVIDIA ha migliorato la gestione degli incroci tra i raggi di luce e i triangoli, adesso gestibili con meno sforzo di elaborazione e con poche righe di codice. Questa tecnologia è stata definita Optix Prime ed è stata inserita anche nel motore di rendering Iray, la soluzione di NVIDIA in assoluto più avanzata per quanto riguarda la capacità di riprodurre scenari fotorealistici.

Si tratta, infatti, di una tecnica di rendering accelerata tramite GPU e fisicamente attendibile. Iray riesce a riprodurre i comportamenti del mondo reale, consentendo agli sviluppatori di concentrarsi sui contenuti senza dover gestire l'esatto comportamento fisico delle componenti. Naturalmente le immagini dettagliate di Iray necessitano di una potenza di elaborazione oggi non disponibile nelle nostre case, e vanno quindi elaborate in remoto.

L'introduzione di Optix Prime nella Iray Interactive Mode migliora ulteriormente la qualità nella componente del motore all'interno della quale si possono gestire anche le interazioni. Optix Prime è ora disponibile anche in Mental Ray di Autodesk.

Da questa settimana è poi disponibile la versione beta di Optix 3.8, che diventano adesso delle API progressive con supporto alle chiamate singole per l'accumulo di interazioni/sub-frame all'interno dei frame finali. Con la versione 3.8 abbiamo anche il supporto a Quadro VCA, la soluzione hardware NVIDIA ottimizzata per la pesante elaborazione richiesta da Iray.

Iray offre ray tracing basato sulla fisica con un'enfasi particolare per la corrispondenza con la realtà. Gli sviluppatori sanno cosa aspettarsi e possono regolare ogni parametro della grafica. Iray permette di scalare la qualità delle illuminazioni dalle impostazioni più basse fino alla qualità fotorealistica. Ci sono due modalità di visualizzazione in Iray: fotorealistica con path tracing e interattiva con illuminazione diretta.

Adesso Iray utilizza differenti kernel invece che uno solo ed entrambe le modalità di rendering supportano Optix Prime. La combinazione tra i nuovi hardware che NVIDIA sta per introdurre e l'affinamento dei tool di rendering consentirà prestazioni moltiplicate sui sistemi dotati di Quadro QM6000.

All'interno degli strumenti NVIDIA c'è anche il cosiddetto Material Definition Language, attraverso il quale si possono gestire materiali condivisibili e i rapporti di illuminazione fra render basati sulla fisica. I render che supportano MDL consentono di raggiungere una qualità grafica che prima era possibile solo con shader personalizzati, programmati appositamente per quel tipo di applicazione.

5 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
demon7718 Marzo 2015, 16:48 #1
IMPRESSIONANTE.
Un livello di fotorealismo pressochè indistinguibile da una foto reale.

Vero che si tratta magari di foto che favoriscono questa cosa (un bosco sarebbe ben più difficile da riprodurre).. ma resta comunque una cosa semplicemente spettacolare.

Quanti anni ancora per raggiungere questo risultato in realtime a 60 fps? Potrebbe essere un decennio?
D3stroyer18 Marzo 2015, 17:13 #2
quando si raggiungerà quel livello in realtime, la real life avrà ben poco senso.

Link ad immagine (click per visualizzarla)
AleLinuxBSD18 Marzo 2015, 17:23 #3
Originariamente inviato da: demon77
Quanti anni ancora per raggiungere questo risultato in realtime a 60 fps? Potrebbe essere un decennio?

$50,000 NVIDIA VCA with 8 Quadro M6000 Cards for Rendering Images
NVIDIA Visual Computing Appliance (VCA) Now Shipping
Diciamo che per i comuni mortali occorrerà attendere ancora parecchio tempo ...
demon7718 Marzo 2015, 22:18 #4
Originariamente inviato da: AleLinuxBSD
$50,000 NVIDIA VCA with 8 Quadro M6000 Cards for Rendering Images
NVIDIA Visual Computing Appliance (VCA) Now Shipping
Diciamo che per i comuni mortali occorrerà attendere ancora parecchio tempo ...


beh.. in questo settore dieci anni sono un'era geologica!
Prova solo a pensare a come era un gioco top di gamma nel 2004..
aald21319 Marzo 2015, 09:13 #5
Originariamente inviato da: demon77
IMPRESSIONANTE.
Un livello di fotorealismo pressochè indistinguibile da una foto reale.

Vero che si tratta magari di foto che favoriscono questa cosa (un bosco sarebbe ben più difficile da riprodurre).. ma resta comunque una cosa semplicemente spettacolare.

Quanti anni ancora per raggiungere questo risultato in realtime a 60 fps? Potrebbe essere un decennio?


Dipende da cosa si tratta. Una scena statica con un numero relativamente basso di oggetti di medie dimensioni, potrebbe essere possibile.

Se parliamo di un numero elevato di oggi piccoli (vegetazione, capelli per esempio), allora è difficile.

Se poi parliamo di animazione in tempo reale, è un mondo differente. Certi problemi sono difficili, e probabilmente lo resteranno tra dieci o cento anni. In tal caso le soluzioni sono:

1. scorciatoie
2. salto tecnologico

Il primo caso è la norma nel rendering 3D. Rende il 99% delle cose corrette... finchè non si va a cercare l'1%.

Detto ciò, la grafica è migliorata rispetto a 10 anni fa, ma le animazioni sembrano ancora composte da bambolotti.

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.
 
^