NVIDIA spiega gli effetti di ray tracing utilizzati in Control

DiMarco Nisticò

PUBBLICATO IL 29 Ago 2019 ALLE 21:43 - AGGIORNATO IL 6 Aprile 2020 ALLE 13:44 #nvidia

NVIDIA ha pubblicato un breve video nel quale spiega brevemente gli effetti di ray tracing avanzati che sono stati impiegati nello sviluppo di Control.

Finora il ray tracing non è stato sfruttato a pieno nei videogiochi. In alcuni casi è stato impiegato per la sola illuminazione mentre in altri per i riflessi ambientali. Control invece è il primo caso in cui il ray tracing viene utilizzato a 360°, quindi è possibile prenderlo come punto di riferimento per capire dove effettivamente può arrivare tale tecnologia. Tanta ne è stata fatta di strada dalla primissima demo mostrata all’E3 2018. Ai tempi già il ray tracing era sinonimo di innovazione, una tecnologia destinata a rivoluzionare per sempre i videogiochi e la loro esperienza.

Successivamente sono state rilasciate le schede video NVIDIA RTX e relative versioni Super qualche mese dopo. Queste sono le prime GPU a sfruttare la tecnologia RTX tramite core dedicati (Tensor Core). In seguito anche AMD ha rilasciato schede video compatibili con questa tecnologia, ossia le RX 5700.

Control e il ray tracing

Tony Tamasi, Vice Presidente della Tecnologia presso NVIDIA, spiega nel dettaglio quali sono gli effetti ray tracing avanzati inseriti in Control, titolo sviluppato dai ragazzi di Remedy Games (Heavy Rain).

Gli effetti ray tracing che vengono introdotti sono:

  • Opaque and Transparent Reflections
  • Dynamic Diffuse Indirect Illumination
  • Raytrace Contact Hardening Soft Shadows

Partiamo dall’Opaque Reflections. In questo caso abbiamo l’osservatore, in questo caso il giocatore, da cui viene tracciata una linea che andrà ad intersecare una determinata superficie, in questo caso opaca. A questo punto verranno studiate le proprietà di questa superficie, come ruvidità, specularità e trasparenza. Quindi viene tracciato un vettore che rifletterà la luce dalla superficie e se non incontra altre superfici, viene applicata la cosiddetta PreComputed Global Illumination. Nel video è possibile vedere un esempio concreto in Control.

Diverso invece è il caso della Transparent Reflections. Qui viene prima tracciato un vettore che individua la superficie trasparente tra l’osservatore ed un’altra superficie. Dunque viene calcolato il vettore riflettente dalla superficie trasparente e se incontra un’altra superficie, il risultato sarà che vedremo il riflesso di tale superficie su quella trasparente. In poche parole, il ray tracing permette di avere un riflesso altamente realistico.

Passiamo ora alla Dynamic Diffuse Indirect Illumination. Si tratta di stabilire se una particolare superficie viene colpita o meno da raggi di luce, che possiamo semplificare come un insieme di vettori. Questi vettori, detti indiretti, possono rimbalzare su diverse superfici. In questo caso si applica l’effetto diffuse indirect, basato appunto sui fasci di luce esterni al raggio di visione dell’osservatore. In caso contrario, viene applicato l’effetto global illumination, utilizzato tutt’ora. Nel video si può notare come la differenza sia obiettivamente enorme. Con il ray tracing attivo, le ombre sono molto più naturali e l’illuminazione ancora più realistica rispetto all’effetto renderizzato in tempo reale.

Concludiamo con il Raytrace Contact Hardening Soft Shadows. Si traccia nuovamente un raggio nei pressi di una fonte luminosità, di cui si conosce grandezza ed intensità. Se tali raggi sono bloccati o occlusi, significa che sono in ombra e quindi il ray tracing provvederà ad occupare l’area di risoluzione insufficiente con un’ombra, che diminuirà di intensità man mano che ci si allontana dalla fonte di luce. Nel filmato è possibile vedere che senza ray tracing le ombre sembra che non partano dall’oggetto ma da un altro elemento dello scenario mentre con il ray tracing sono ben definite e marcate.

Questo breve video esplicativo ci fa capire quanto il ray tracing sia un tecnologia ancora acerba ma dalle potenzialità elevatissime e Control ne è un esempio concreto.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.