Unreal Engine 5: la tech demo grava sulla GPU non più di Fortnite

Unreal Engine 5: la tech demo grava sulla GPU non più di Fortnite

Un ingegnere di Epic Games ha rivelato un dettaglio molto importante circa la Tech Demo di Unreal Engine 5 che ha lasciato tutti a bocca aperta. Il software, in futuro, sarà ancora più determinante dell'hardware per il dettaglio visivo

di pubblicata il , alle 09:01 nel canale Videogames
Epic
 

La tech demo di Unreal Engine 5 in esecuzione su PlayStation 5 ha meravigliato tutti gli appassionati di grafica, e non solo perché esprime il potenziale della nuova console, ma perché dà un'idea di ciò che dobbiamo aspettarci dalla grafica dei videogiochi del futuro. Meraviglia soprattutto per la densità geometrica degli scenari, un aspetto su cui insiste la stessa Epic Games.

"Posso dire che il tempo che il GPU time impiegato per il rendering della geometria nella nostra demo UE5 è simile al GPU time che serve per il rendering della geometria di Fortnite in esecuzione a 60 fps su console" ha detto Nick Penwarden, Vice president of engineering di Epic, in un'intervista a PCGamesN. In altri termini, la tech demo di UE5 sottrae alla GPU una quantità di tempo minima, paragonabile a quella che serve a Unreal Engine 4 per renderizzare una geometria molto più semplice, ovvero quella di Fornite. In condizioni del genere, dunque, la GPU può concentrarsi su altri aspetti, aumentando ulteriormente la densità visiva complessiva.

Unreal Engine 5

Il rendering della geometria occupa sicuramente una buona parte della pipeline grafica ed è il componente che grava maggiormente sulla GPU, incidendo più di qualsiasi altro componente sulle prestazioni.

L'ingegnere di Epic si riferisce al modulo Nanite di Unreal Engine 5, ovvero la parte del motore che virtualizza la geometria. Unreal Engine 5 non renderizzerà indiscriminatamente tutta la geometria, ma ottimizzerà i calcoli in funzione di ciò che sarà effettivamente visibile al giocatore e delle disponibilità dell'hardware in termini di risorse di calcolo.

Ad esempio, man mano che il giocatore si avvicina a un oggetto, il motore grafico trasmetterà più poligoni geometrici, aumentandone i dettagli. Il tutto senza che lo sviluppatore debba fare un lavoro specifico sul LOD (livello di dettaglio). Unreal Engine 5, dunque, si iscrive perfettamente in un'epoca tecnologica dove l'ottimizzazione via software è importante quasi come, o forse più, della bruta capacità dell'hardware.

"La filosofia alla base risale agli anni '80 con l'idea di REYES, Render Everything Your Eye Seees - un acronimo divertente che significa che, a partire dal livello di dettaglio massimo possibile, è compito del motore determinare esattamente quali pixel devono essere disegnati per renderlo concreto" diceva Tim Sweeney, CEO di Epic, in una precedente intervista . "Non significa renderizzare tutti i miliardi di poligoni per ogni fotogramma, perché alcuni di essi sono molto, molto più piccoli di un pixel. Significa essere in grado di renderizzare un'approssimazione che non è carente di alcun dettaglio percepibile. E una volta arrivato a quel punto, hai finito con la geometria. Non c'è altro che puoi fare perché anche se renderizzassi un numero maggiore di poligoni non te ne accorgeresti perché quei poligoni contribuiscono in maniera infinitesimale a ciascun pixel dello schermo".

Epic non è ovviamente l'unica software house a ragionare in questo modo. Abbiamo visto nel caso di DLSS 2.0 come si riesca a migliorare le prestazioni, in questo caso in relazione all'elaborazione dell'anti-aliasing, tramite l'intelligenza artificiale. Tornando in casa Epic, la software house diretta da Sweeney ha in passato acquisito il motore via cloud Cloudgine, e anche in quel caso si ragionava in termini di alleviare il carico di lavoro dell'hardware devolvendo i calcoli relativi alla fisica al cloud.

In definitiva, se ciò che afferma Epic corrisponderà al vero nella prossima generazione di videogiochi avremo una grafica molto più dettagliata rispetto a quella a cui siamo abituati oggi.

51 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
predator8702 Luglio 2020, 09:19 #1
Anche la mitica DC usava una tecnica simile detta HSR(hidden surface removal), di conseguenza veniva ottimizzato tutto il resto della scena.
Ale55andr002 Luglio 2020, 09:32 #2
peccato dica anche che la frase riguardi solo la parte geometrica dell'immagine ..quanto al resto 30frame 1440p , se la gpu era così scialla perchè dovevano dimezzare risoluzione e frame rate dagli auspicati (fino all'uscita delle specs reali ) 4k60frame?
Patetico marketing.
sertopica02 Luglio 2020, 09:39 #3
Vabbe' parlano di occlusion culling che e' tipo l'abc nel rendering di una scena tridimensionale come se fosse chissa' cosa. Vabbe'.
coschizza02 Luglio 2020, 09:51 #4
Originariamente inviato da: sertopica
Vabbe' parlano di occlusion culling che e' tipo l'abc nel rendering di una scena tridimensionale come se fosse chissa' cosa. Vabbe'.


ma una cosa è la teoria une cosa l'implementazione pratica, in teoria allora perche i motori di 20 anni fa non erano al livello di UE5 ? se ci pensi la grafica come concetti matematici è rimasta identica.
Per esempio fino ad oggi si usava il lod per ridurre i poligoni in base alla distanza ora grazie al nuovo hardware si useranno delle unita fisiche nella gpu cosa che non si e mai visti oprima e quindi si fara un salto avanti come controllo. Eppure questo da un punto di vista teorico era gia pensato decenni fa ma mai implementato, quindi una cosa è la teoria poi la pratica è un altro paio di maniche
sertopica02 Luglio 2020, 10:20 #5
Certo, aumenta la potenza (e la specializzazione delle unita' in un chip grafico) ed e' di conseguenza possibile utilizzare tecnologie che in precedenza erano o teoriche o attuabili soltanto in ambito professionale e non consumer. Personalmente non ci vedo niente di eclatante.

Che poi il sistema di gestione del LOD e' normalmente gia' incluso all'interno di un engine, che io sappia. Nell'articolo sembra si affermi che in passato spettasse agli sviluppatori di un gioco creare modelli ad alta e bassa "risoluzione". Forse 15-20 anni fa, ma ora non piu'. Credo.
AceGranger02 Luglio 2020, 10:55 #6
Originariamente inviato da: sertopica
Certo, aumenta la potenza (e la specializzazione delle unita' in un chip grafico) ed e' di conseguenza possibile utilizzare tecnologie che in precedenza erano o teoriche o attuabili soltanto in ambito professionale e non consumer. Personalmente non ci vedo niente di eclatante.

Che poi il sistema di gestione del LOD e' normalmente gia' incluso all'interno di un engine, che io sappia. Nell'articolo sembra si affermi che in passato spettasse agli sviluppatori di un gioco creare modelli ad alta e bassa "risoluzione". Forse 15-20 anni fa, ma ora non piu'. Credo.


eh certo... e chi lo fa ?
cit. "la fatina buona del ..." ?

l'UE5, da quello che dicono, dovrebbe bypassare quella parte caricando direttamente l'asset in alta qualita, cosi hanno detto... quando faranno uscire la l'UE5 o la beta lo scarichero al day one e controllero subito la cosa come funzione.

SE è vero quello che dicono, non è poca cosa, visto che ora il modellatore deve modellare l'oggetto Low poly o fare un retopology da sorgenti Hi-Poly o fotogrammetrici, scomporlo, e assegnare l'ordine dei LOD, invece con l'UE5 carichera direttamente il modello HI-Poly e poi pensera a tutto l'engine.

vedremo.
coschizza02 Luglio 2020, 10:59 #7
Originariamente inviato da: sertopica
Che poi il sistema di gestione del LOD e' normalmente gia' incluso all'interno di un engine, che io sappia. Nell'articolo sembra si affermi che in passato spettasse agli sviluppatori di un gioco creare modelli ad alta e bassa "risoluzione". Forse 15-20 anni fa, ma ora non piu'. Credo.


non è cosi oggi il lod si gestrice ancora a mano pezzo per pezzo, non esiste nessun sistema automatico
PS sono uno svilupparore di engine 3d da decenni e propri ora mentra scrivo sto scrivendo un gioco in UE4 e i lod lo gestisco mesh per mesh a mano, ora che ci penso forse tu ti confondi con il tessellation che è gestito dal motore ma non è la stessa cosa di avere mesh a livelli diversi di dettaglio
coschizza02 Luglio 2020, 11:05 #8
Originariamente inviato da: AceGranger

l'UE5, da quello che dicono, dovrebbe eliminare bypassare quella parte e, sempre a detta a loro, caricare direttamente l'asset in alta qualita.


in realta non è cosi, non è UE5 che fa questo , lo fa l'hardware della gpu che ha introdotto il nuovo shader mesh, quindi questo lo potrai fare anche con UE4 unity ecc quando le nuove gpu per pc usciranno questo fa part delle Dx12 ultimate (che sara usabile anche sulla attuali gpu ma che darà il massimo con le successive dove espanderanno di molto lato hardware questa funzionalita)
AceGranger02 Luglio 2020, 11:15 #9
Originariamente inviato da: coschizza
in realta non è cosi, non è UE5 che fa questo , lo fa l'hardware della gpu che ha introdotto il nuovo shader mesh, quindi questo lo potrai fare anche con UE4 unity ecc quando le nuove gpu per pc usciranno questo fa part delle Dx12 ultimate (che sara usabile anche sulla attuali gpu ma che darà il massimo con le successive dove espanderanno di molto lato hardware questa funzionalita)


Eh no, lo shader mesh si occupa di renderizzare quello che si vede ed escludere quello che non si vede, l'UE5, da quello che hanno dichiarato, effettuera un LOD automatico in base alla distanza, permettendo di caricare modelli e texture tutte in alta risoluzione.

Se tu importi un modello da 20 milioni di poligoni lo shader mesh si occupa di escludere i 10 milioni "dietro" non visibili ma gli altri 10 milioni te li becchi tutti, comprese le texture in 8K; l'UE5 dovrebbe automaticamente ridurli in base alla distanza.

lo shader mesh era gia stato mostrato 1 anno e mezzo fa ma applicato assieme al LOD.

https://www.tomshw.it/hardware/amd-...re-sul-mercato/



EDIT: hanno detto questo:


"he starting point is the same, but the execution in games is different. Models are authored at that same very high quality with millions of polygons per model, but no lower quality models with bespoke normal maps are created for in-game usage. In Nanite, the geometric detail of that high quality model is scaled up and down in real time. Higher detail does not have to be filled in with a baked out normal map - the previous way game models were made. "


lo dicono espressamente che avviene un processo di degradazione in ral-time in base alla distanza; la demo caricava direttamente gli asset provenienti da Quixel e da Zbrush, tutto a massima con texture a 4K e 8K
coschizza02 Luglio 2020, 11:26 #10
Originariamente inviato da: AceGranger
Eh no, lo shader mesh si occupa di renderizzare quello che si vede ed escludere quello che non si vede, l'UE5, da quello che hanno dichiarato, effettuere un LOD automatico in base alla distanza, permettendo di caricare modelli e texture tutte in alta risoluzione.

Se tu importi un modello da 20 milioni di poligoni lo shader mesh si occupa di escludere i 10 milioni "dietro" non visibili ma gli altri 10 milioni te li becchi tutti, comprese le texture in 8K; l'UE5 dovrebbe automaticamente ridurli in base alla distanza.

lo shader mesh era gia stato mostrato 1 anno e mezzo fa ma applicato assieme al LOD.

https://www.tomshw.it/hardware/amd-...re-sul-mercato/


io parlo del nuovo Mesh Shaders INTRODOTTO OGGI COME LE DX12 ULTIMATE non quello usato in precedenza é questa la differenza se guardi le nuove api o guardi il live di unreal dove presentano questa nuove funzione vedi che ho ragione. Hanno dato lo stesso nome ma il fuzionamento è profondamente diverso, lo shader mesh delle nuove api e le nuove gpu non servirà solo come elaborazione per escludere le parti nascoste ma fungera da sostituto per il lod perche sara lui dinamicamente a caricare i vertici in base a come sono veramente richiesti cosa che oggi non avviene.
Non cadere nel tranello del marketing

"lo dicono espressamente che avviene un processo di degradazione in ral-time in base alla distanza; la demo caricava direttamente gli asset provenienti da Quixel e da Zbrush, tutto a massima con texture a 4K e 8K" appunto lo fa il nuovo mesh shader

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