Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

Videogiochi fotorealistici: un cammino pieno di ostacoli

Discussione in 'Altre console' iniziata da axlffx2forever, 11 Nov 2013.

  1. Quando i videogiochi diventeranno fotorealistici?

    A luglio il fondatore di Epic Games Tim Sweeney ha fatto un annuncio audace: "i videogiochi saranno fotorealistici entro i prossimi dieci anni". In parole povere, gli sviluppatori riusciranno a creare videogiochi che, anche durante le fasi di gameplay, non si potranno distinguere dalla realtà. Sweeney è in una buona posizione per fare commenti del genere: Epic Games è l'azienda responsabile dell'Unreal Engine, la base di numerosi giochi moderni come la saga di Mass Effect, Borderlands 2 e molti altri.

    Anche Henrik Wann Jensen, un ricercatore del San Diego Computer Graphics Laboratory dell'Università della California ha qualcosa da dire sull'argomento. Jensen è uno dei pionieri della tecnica chiamata "subsurface scattering" (SSS), che simula come la luce colpisce un oggetto traslucente (che permette alla luce di passarvi attraverso in modo diffuso), si disperde interagendo con il materiale, ed esce dalla superficie in un punto diverso.

    [​IMG]
    Unreal Engine 4​



    Jensen sostiene che ci vorranno più di dieci anni per raggiungere il vero fotorealismo in qualsiasi tipo di scena. Alcuni esperti prevedono che si potranno ottenere immagini in-game indistinguibili dalla realtà verso il 2025. Altri sostengono che ci vorrà ancora più tempo. Questo perché bisogna produrre l'illuminazione globale o simulare virtualmente come la luce si comporta nel mondo reale.

    Il Sacro Graal della grafica computerizzata

    L'illuminazione globale è stata soprannominata il Sacro Graal della grafica computerizzata, e una tecnica chiamata ray tracing è il metodo più affidabile e preciso per ottenerla. In breve, si tratta di un algoritmo, o se preferite di una tecnica di rendering, che riproduce la scena con una tecnica che segue i raggi (rays) partendo dal punto di vista della telecamera anziché dalle sorgenti di luce. L'algoritmo calcola la posizione in tempo reale di milioni di raggi luce e crea, ombre, sfumature e texture.

    "Se volete il fotorealismo non ci sono altre soluzioni oltre al ray tracing", ha spiegato Jensen, che però non vuole dire che sia l'unica componente per una scena fotorealistica. "La tecnologia di oggi è limitata e i designer 3D stanno sbattendo contro un muro". I film usano il ray tracing da anni. È una tecnica applicata di frequente anche nelle pubblicità; al posto di fotografare un prodotto i pubblicitari creano un modello digitale matematicamente perfetto e usano il ray tracing per far sembrare l'immagine realistica.

    In questi casi il ray tracing non è eseguito in tempo reale; le scene e le immagini sono create molto tempo prima che il pubblico possa vederle. Con i videogiochi, tuttavia, il ray tracing deve essere fatto in tempo reale, una cosa che rende il processo più difficile.

    Il ray tracing in tempo reale è stato raggiunto in vari progetti sperimentali, come la demo di Quake 3 di Daniel Pohl, ma la tecnica attualmente richiede più potenza di calcolo rispetto a quella che possono offrire i PC in vendita sul mercato. Jensen non crede che questo problema sarà risolto in dieci anni.

    Cos'è il fotorealismo?

    Il fotorealismo significa semplicemente che una scena simulata è indistinguibile da una fotografia, o per estensione dalla vita di tutti i giorni. L'ostacolo principale per il fotorealismo è la potenza di calcolo, sostiene Jensen.

    Per fare sembrare fotorealistici film come Avatar e Vita di Pi ogni frame del film è prerenderizzato. Questo significa che i modelli digitali e i movimenti "scriptati" in una scena virtuale sono compilati in frame (di solito fino a 30 frame al secondo) e ritoccati, un processo che può richiedere ore per ogni frame. Con i videogiochi la storia è diversa perché le azioni in una scena devono rispondere in modo dinamico agli input del giocatore. I videogiochi devono renderizzare la grafica in tempo reale, meglio se a 60 frame al secondo.

    [​IMG]

    Ecco perché è giusto essere scettici di fronte ai trailer pre-renderizzati dei videogiochi. Questi filmati appaiono inevitabilmente migliori rispetto al gioco finale perché non sono molto diversi dai film e soprattutto non sono sequenze che mostrano come appare il gioco durante il gameplay.

    Attualmente, durante le sequenze di gioco, i videogame usano una tecnica chiamata rasterizzazione per ottenere effetti abbastanza realistici. La rasterizzazione è un algoritmo che permette di convertire un'immagine a due dimensioni in una formata da pixel per avere fotogrammi proiettabili sugli schermi. Gli sviluppatori hanno dovuto cercare scorciatoie per creare scene illuminate realisticamente, perché la rasterizzazione non è modellata seguendo il modo in cui le visuali funzionano realmente.

    Per esempio, il modo migliore per creare ombre usando la rasterizzazione con i motori di gioco come Unity è usare di "texturizzare" un oggetto con un filtro più scuro, in modo da simulare l'aspetto di un'ombra. Le fonti di luce nella scena non creano dinamicamente l'ombra come farebbe un punto di luce, per esempio un riflettore di un palcoscenico; piuttosto, è come se si stesse disegnando l'ombra da soli, come farebbe un'artista.

    L'industria dei videogiochi è nel bel mezzo di una transizione dalla rasterizzazione al ray tracing, sostiene Jensen. A differenza della rasterizzazione, che richiede lavori a mano da parte dei designer per creare ombre, texture e sfumature di colori, il ray tracing funziona in modo molto più simile alla realtà.

    Il ray tracing significa meno lavoro per artisti e sviluppatori e un prodotto finale più realistico, ma anche più lavoro per il computer. La quantità di potenza di calcolo necessaria per gestire ogni raggio di luce è semplicemente enorme.

    Unreal Engine 4: voxel al posto del ray tracing

    "Il ray tracing richiede così tanta potenza di calcolo da non essere fattibile per i giochi dei prossimi anni", ci ha spiegato Jensen. "Ci stiamo arrivando, la tecnologia aiuterà a spingere i giochi verso il prossimo livello". Anche prendendo in esame la legge di Moore ("le prestazioni dei processori, e il numero di transistor ad esso relativo, raddoppiano ogni 18/24 mesi") i dispositivi per il gaming disponibili sul mercato non saranno in grado di visualizzare scene gestite completamente con il ray-tracing in soli dieci anni, sostiene il ricercatore.

    [​IMG]

    Epic Games, invece, ha sviluppato una tecnologia chiamata "Sparse Voxel Octree Global Illumination" (SVOGI). Questa tecnica è una versione modificata del ray tracing che usa i voxel, o pixel tridimensionali, per simulare i raggi di luce. L'Unreal Engine 4 di Epic crea "alberi" di voxel che hanno uno spessore, come se si stessero costruendo linee luminescenti e trasparenti in una scena. Il vero ray tracing usa i raggi di luce, che sono linee matematiche unidimensionali e non hanno uno spessore misurabile.

    Ma anche la tecnica SVOGI, se applicata completamente, è troppo onerosa per i dispositivi dedicati ai videogiochi attualmente in commercio. Epic Games ha creato una versione dell'Unreal Engine 4 che usa una versione modificata della tecnica SVOGI e che funzionerà sulle console next gen, la PS4 e Xbox One, così come con l'Oculus Rift, il visore per la realtà virtuale. "Ora è chiaro che i voxel giocheranno un ruolo importante in futuro", ha dichiarato Sweeney in un'intervista con i colleghi di Gamasutra pubblicata a marzo.

    Il Path tracing è la soluzione?

    Caustic Professional, un'azienda specializzata nello sviluppo di tecnologie grafiche con il ray tracing che fa parte di Imagination Technologies, definisce il ray tracing come "l'abilità dello shader in esecuzione per un oggetto di essere consapevole della geometria degli altri oggetti". Quando si esegue il rendering dell'aspetto di un oggetto particolare i calcoli del ray tracing includono la posizione, la luminosità e il riflesso di altri oggetti nella scena.

    [​IMG]

    Rendendo l'aspetto di uno degli oggetti matematicamente dipendente da tutti gli altri oggetti, il computer riesce a produrre una scena con un rendering realistico. Caustic chiama questo metodo "path tracing" e l'azienda crede che questa tecnologia permetterà di ottenere il fotorealismo ben prima del limite dei dieci anni ipotizzato da Sweeney.

    "Fra tre anni a partire da ora i giochi con un grosso budget sembreranno come film", sostiene Luke Peterson, cofondatore di Caustic. "Siamo molto ottimisti sulle tempistiche, perché sappiamo cosa può fare la nostra tecnologia". Peterson ha rifiutato di addentrarsi nei particolari, spiegando di non voler rivelare troppe informazioni su ciò che stanno facendo i clienti di Caustic con questa tecnologia.

    Il ray tracing non è abbastanza

    Il ricercatore Intel Daniel Phol ha rifatto diversi classici dei videogiochi, come Quake e Wolfenstein, usando il ray tracing. Pohl ha dimostrato il suo remake di Wolfenstein su un laptop, anche se si tratta di una sorta d'inganno. Il laptop non fa girare il gioco, si occupa solo di riprodurre le immagini provenienti da quattro server dedicati, tutti con coprocessori di fascia alta di Intel (Knights Ferry).

    L'architettura delle demo di Pohl appare fotorealistica, così come il lampadario aggiunto in Wolfestein (che vedete qui sotto); la proiezione consiste in 1 milione di poligoni, renderizzati usando l'indice di rifrazione reale del vetro, un numero assegnato che rappresenta come la luce attraversa una sostanza.

    [video=youtube;XVZDH15TRro]http://www.youtube.com/watch?v=XVZDH15TRro[/video]​

    Tuttavia le altre scene della demo hanno fallito il test del fotorealismo.

    [video=youtube;a2VB8vGIbwY]http://www.youtube.com/watch?v=a2VB8vGIbwY[/video]​

    I soldati della demo di Wolfenstein di Pohl camminano tutti con un'andatura artificiosa e le fiamme, notoriamente difficili da animare, sembrano piatte e morbide, lontane anni luce dall'effetto reale.

    La demo di Wolfensein di Pohl mostra come il fotorealismo significhi molto di più di una corretta illuminazione. "Il ray tracing da solo non è abbastanza per raggiungere il fotorealismo. Bisogna avere modelli 3D complessi, animazioni e tutti gli elementi che lavorano insieme per creare l'esperienza". Nel 2010 David Luebke, direttore della ricerca grafica di Nvidia, affermava che il metodo più corretto per gestire i calcoli richiesti dal ray tracing sarebbe integrare hardware a funzione fissa nelle future GPU. Per ora non è successo.

    Altri progressi sono stati fatti sul fronte dell'algoritmo radiosity, usato in titoli come Battlefield 3 in tempo reale, grazie allo strumento di gestione Enlighten di Geomerics. A differenza del path tracing, radiosity sfrutta i percorsi luminosi che partono da una sorgente e sono riflessi diffusivamente un certo numero di volte (anche zero) prima di colpire l'occhio. Si può dire che l'illuminazione in Battlefield 3 sia sublime, ma non possiamo certo parlare di gioco fotorealistico in senso completo.

    Insomma, la strada è lunga e le innovazione da fare sia sul fronte hardware che software sono ancora molte. Parlare in termini di anni o decenni forse non ha senso: l'industria tecnologica cresce a livelli esponenziali e quello che oggi ci sembra lontano magari sarà risolto in pochissimo tempo. Almeno questa è la nostra speranza di appassionati di tecnologia. Incrociamo - tutti insieme - le dita!