RAY TRACING

Intel democratizza il ray tracing, il caso World of Tanks

Quest’estate vi abbiamo riportato che World of Tanks avrebbe guadagnato il supporto al ray tracing grazie a Intel. Sì, non Nvidia, né AMD, ma Intel. Ebbene, finalmente è disponibile una demo chiamata “World of Tanks enCore Ray Tracing Demo” che può essere fatta girare su tutte le schede video che supportano almeno le API Microsoft DirectX 11. Insomma, non sono richieste GPU con RT core dedicati e nemmeno CPU Intel, potete infatti usare anche un processore AMD.

“Dopo l’Update 1.0 di marzo 2018 e il grande aggiornamento grafico di World of Tanks, il nostro grande lavoro sul nuovo engine Core non si è mai fermato”, spiegano gli sviluppatori in un post sul blog. “Abbiamo implementato il concurrent rendering (il motore esegue calcoli contemporaneamente su tutti i core disponibili) e accantonato il supporto a Windows XP e alle DirectX 9. Grazie a questi passaggi, siamo stati in grado di andare avanti e introdurre nuove tecnologie nel nostro engine Core”.

Tra le tecnologie su cui si sono centrati in Wargaming c’è anche il ray tracing. L’obiettivo dei creatori di World of Tanks era quello di implementare correttamente le ombre nel gioco, ottenendo un risultato realistico con le moderne schede video. Il problema è che “il livello dei carro armati ha superato a un certo punto quello delle loro ombre e volevamo risolvere questa disparità”.

Teoricamente sarebbe stato possibile aumentare la risoluzione delle ombre, creando però un carico maggiore sulla scheda video e un calo degli fps. Gli sviluppatori hanno così deciso di chiedere assistenza a Intel, che è stata ben felice di dare una mano.

“Gli ingegneri dell’Intel Advanced Rendering ci hanno aiutato con kernel ad alte prestazioni e ottimizzazioni. Grazie al concurrent rendering e la possibilità di parallelizzare il rendering che abbiamo implementato nell’Update 1.4, la tecnologia Intel Embree (parte di Intel One API) era perfetta per il nostro gioco”.

Il tutto infatti è svolto sfruttando una combinazione di CPU e GPU, con il lavoro legato al BVH (bound volume hierarchy) scaricato sulla CPU in modo che la GPU possa avere più risorse per migliorare le ombre.

Poiché implementare tecniche di ray tracing ideali annienterebbe le prestazioni, per l’implementazione del ray tracing nei giochi in tempo reale è necessario ricorrere a dei “trucchetti”. Anziché far rimbalzare un centinaio o più di raggi da un singolo pixel, i modelli nei giochi sono semplificati in modo che il risultato finale sia una stima approssimativa di come dovrebbe apparire.

Con Embree, il BVH viene svolto sulla CPU separando i triangoli in quadrati (da quattro a otto per ogni quadrato), che poi vengono suddivisi in quadrati ancora a più piccoli. È poi compito della GPU addentrarsi in queste aree delimitate per capire la destinazione finale di un raggio di luce.

Così, invece di dover considerare il ray tracing per 50.000 o più triangoli per singolo modello di carro armato, BVH aiuta a ridurre le possibilità a poche decine di quadrati per modello. Una volta trovato un triangolo che si interseca con la sorgente luminosa, viene quindi renderizzata un’ombra accurata. Poiché rimbalzano meno raggi emerge del rumore, e per questo interviene un denoiser – che toglie appunto il rumore o lo minimizza – per ottenere un risultato finale adeguato.

Il risultato è che gli sviluppatori possono ricreare “ombre in qualità più elevata” quando la luce li colpisce. “Visualmente siamo un passo più vicini alle ombre fisicamente accurate che esistono nel mondo reale”. Come già scritto, il ray tracing applicato a WoT non richiede schede video particolari, ma semplicemente soluzioni che supportano le DX11 e superiori.

Le ombre in ray tracing arriveranno prossimamente con un update di World of Tanks. La funzione sarà attivabile e disattivabile direttamente dalle impostazioni, ovviamente con un impatto variabile a seconda della scheda video.

Le ombre in ray tracing interesseranno i carro armati e i veicoli intatti (non si applicano ai veicoli colpiti e/o incidentati) e sarà possibile passare tra tre livelli di dettaglio: high, maximum e ultra. L’obiettivo futuro è quello di applicare il ray tracing anche a riflessi, ambient occlusion e illuminazione in tempo reale ma, per stessa ammissione di Wargaming, avverrà “in un futuro distante”.