Rendering 3D fotorealistico

editing

Il sistema prototipale realizzato è composto di un server attrezzato con Rayform ed una applicazione client presente su uno smartphone Android.
Il client invia una immagine e delle informazioni al server, il quale risponde con il render di un oggetto avente come sfondo l'immagine fornita.
Le informazioni sono estratte da un software di computer vision e danno:

  • la posizione della camera rispetto ad un punto nella realtà ritratto nell'immagine (identificato da un marker)
  • quale oggetto renderizzare (in base a marker differenti)
Le informazioni sulla posizione della camera sono relative esclusivamente al marker e sono normalmente fornite come matrice di rototraslazione rispetto all'origine degli assi (che è il marker).
ll motore Rayform esegue il render in base alle informazioni ricevute alla posizione della camera e quale oggetto viene individuato dal marker. L'applicazione ha una normale modalità di funzionamento autonoma, in cui mostra la scena aumentata con un oggetto renderizzato in locale (a bassa risoluzione / ridotto numero di poligoni). L'utente può inoltre richiedere un dettaglio. A questo punto viene preparata l'immagine, estratta la posizione e inviata al server. Al ritorno dal server, il render viene visualizzato (con possibilità di zoom e pan).
Il risultato del render eseguito dal server, in paragone a quello prodotto dal device mobile è evidente. In particolare, al rendering del motore Rayform sono evidenti le aggiunte di antialiasing, generazione di ombre fotorealistiche, effetti lenticolari (blooming) per aumentare la resa fotorealistica degli oggetti immersi in un ambiente. Per aumentare l'effetto di immersione degli oggetti sintetizzati nell'ambiente reale e allo stesso tempo automatizzare e facilitare il compito di definizione delle scene è stato realizzato anche un test per una applicazione che consente di ricostruire virtualmente gli spazi espositivi e di assegnare la posizione, orientamento e tipo di illuminazione.