Rendering e latenza

Marte e la realtà virtuale: ecco a cosa sta lavorando la NASA per farci viaggiare virtualmente sul Pianeta Rosso.

Avatar di Elena Re Garbagnati

a cura di Elena Re Garbagnati

Nei giochi in realtà virtuale a volte si usa il rendering foveated. Avete usato qualcosa di simile nella demo?

jeff norrisUsiamo molti trucchi tecnologici per gestire la visualizzazione di un dettaglio di questo livello. Uno è il "quadtree", che ripartisce il terreno in "tile" di diverse dimensioni. Ci sono differenti livelli di dettaglio, quindi possiamo costruire il terreno con il massimo dettaglio che i nostri sensori di immagini e i dati stereo ci permettono di ottenere, per poi realizzare versioni a risoluzione più bassa. Il risultato è che le tile che si trovano nelle vicinanze dell'osservatore virtuale hanno un dettaglio migliore di quelle in lontananza, con un passaggio graduale e progressivo in funzione della distanza. Il risultato è credibile, anche perché man mano che ci si avvicina ai punti più lontani scambiamo le texture a bassa risoluzione con quelle ad alta risoluzione.

tumblr lq3jfszqop1qk0cbw 480

C'è qualche latenza? Per intenderci, se mi giro di scatto vedo le tile a risoluzioni più bassa?

jeff norrisLa demo tiene il passo dell'utente. Attualmente manteniamo un framerate di 60 FPS e noi scambiamo selettivamente le tile quando sono ancora abbastanza lontane dall'utente [così] che non riesca a distinguere la differenza tra la tile di alta qualità e quella a bassa qualità.

Quindi si svolge lo stesso processo anche per tutto ciò che si trova alle spalle dell'utente, o il processo viene attivato quando ruota la testa?

PIA17078

jeff norrisIn questo senso siamo stati furbi. L'altra cosa bella di quelle tile è che possiamo rimuovere tutto ciò che non rientra nel campo visivo dell'utente. Ovviamente facciamo una pre-elaborazione per calcolare quali aree sono visibili. Per esempio si vi state muovendo su una collina tutto quello che c'è dietro di questa non sarà visibile, ma potrete osservare con dovizia di dettagli tutto quello che c'è sulla collina e su quella vicina.

Calcoliamo tutte le cose che sono visibili dalla posizione dell'utente, mentre siamo in grado di rimuovere immediatamente tutto quello che non è visibile, così da ridurre il numero di elementi da elaborare. Con questo trucco riusciamo a mantenere un'esperienza fluida.

Se faccio una corsa attorno a un crinale, è possibile che il modello non sia pronto?

jeff norrisNo, sarà pronto prima che ci arrivi.