Rendering 3D guidato da AR
Lo sviluppo di applicazioni AR richiede la risoluzione di un problema fondamentale: il rendering dei contenuti AR. Questo articolo prende come esempio il tracciamento di immagini piane per descrivere i moduli di base, il flusso e l'implementazione del rendering delle applicazioni AR.
Flusso tipico di un'applicazione AR
Una tipica applicazione AR identifica generalmente immagini, oggetti o scene specifiche dai frame della fotocamera, ne traccia la posizione e l'orientamento, e quindi esegue il rendering dei contenuti virtuali (modelli 3D) in base a tale posa.
![]()
Ad esempio, la figura sopra mostra un'applicazione AR con tracciamento di grafici piani
Di seguito è riportato uno schema del flusso dell'applicazione.
flowchart TD
CameraDevice[Camera Device]
Tracker[Tracker]
Renderer[Renderer]
CameraDevice -->|Image Frame| Tracker
Tracker -->|Image Frame + Tracked Pose| Renderer
Il flusso include i seguenti moduli.
| Modulo | Funzione |
|---|---|
| Fotocamera fisica | Fornisce una sequenza di frame di immagine in ingresso. Un frame di immagine include l'immagine, il timestamp di generazione dell'immagine e talvolta può includere anche la posa (posizione e orientamento) della fotocamera nello spazio |
| Tracciatore | Calcola la posa del bersaglio tracciato dal frame di immagine. A seconda del bersaglio tracciato, esistono vari tipi di tracker, come il tracciatore di immagini piane e il tracciatore di oggetti 3D |
| Renderer | Utilizzato per eseguire il rendering dell'immagine della fotocamera e del modello 3D corrispondente all'oggetto tracciato sullo schermo. Su alcuni occhiali AR, potrebbe non essere eseguito il rendering dell'immagine della fotocamera, ma solo del modello 3D |
Rendering su dispositivi mobili
Il rendering su dispositivi mobili è suddiviso in due parti: il rendering del flusso della fotocamera e il rendering degli oggetti virtuali.
Rendering del flusso della fotocamera

Durante il rendering del flusso della fotocamera, ci sono alcuni parametri da considerare.
Modalità di ridimensionamento
Solitamente è necessario riempire l'intero schermo o una finestra con il flusso della fotocamera, il che comporta un problema di mancata corrispondenza tra le proporzioni del flusso della fotocamera e quelle dello schermo/finestra.
Supponendo di voler allineare il centro del flusso della fotocamera con il centro dello schermo/finestra, mantenendo le proporzioni originali, esistono due modalità di ridimensionamento comuni: ridimensionamento uniforme (fit) e riempimento uniforme (fill).
Modalità di ridimensionamento Effetto Ridimensionamento uniforme Mostra tutto il contenuto sullo schermo, ma lascia bande nere a sinistra/destra o sopra/sotto Riempimento uniforme Nessuna banda nera, ma ritaglia parte dell'immagine a sinistra/destra o sopra/sotto Rotazione dell'immagine della fotocamera
Sui dispositivi mobili, l'immagine acquisita dalla fotocamera fisica è generalmente fissa rispetto al dispositivo e non cambia con l'orientamento dello schermo. Tuttavia, i cambiamenti nell'orientamento del dispositivo influenzano la nostra definizione delle direzioni alto/basso e sinistra/destra dell'immagine. Durante il rendering, anche l'orientamento corrente di visualizzazione dello schermo influisce sulla direzione dell'immagine visualizzata.
Solitamente, durante il rendering, è necessario determinare un angolo di rotazione per l'immagine della fotocamera rispetto alla direzione di visualizzazione dello schermo.
Ribaltamento dell'immagine della fotocamera
In alcuni casi, come quando si utilizza la fotocamera frontale, è comune ribaltare l'immagine orizzontalmente per farla apparire come uno specchio.
Rendering di oggetti virtuali

Per eseguire il rendering di oggetti virtuali su dispositivi mobili e allinearli al flusso della fotocamera, è necessario posizionare sia la fotocamera virtuale di rendering che gli oggetti nello spazio virtuale corrispondente esattamente allo spazio reale. Il rendering deve essere eseguito utilizzando lo stesso campo visivo (FOV) e le stesse proporzioni della fotocamera fisica. La trasformazione prospettica applicata al flusso della fotocamera e agli oggetti virtuali è identica, con la differenza che per il flusso della fotocamera avviene principalmente nella fotocamera fisica, mentre per gli oggetti virtuali è un processo completamente computazionale.
Rendering su head-mounted display (HMD)
Il rendering su HMD presenta alcune differenze rispetto ai dispositivi mobili e richiede di distinguere due casi.
VST (Video See-Through)
Si riferisce alla tecnologia AR in cui l'HMD acquisisce immagini tramite una fotocamera fisica e poi le visualizza sul proprio schermo insieme ai contenuti virtuali. Un rappresentante tipico è Vision Pro. Solitamente, le matrici di proiezione prospettica per l'immagine della fotocamera e i contenuti virtuali sono impostate dall'SDK fornito dall'HMD. Esternamente, è sufficiente impostare la posa dei contenuti virtuali. La fotocamera fisica utilizzata per il tracciamento e la fotocamera virtuale utilizzata per il rendering dell'immagine sullo schermo potrebbero trovarsi in posizioni diverse; durante il rendering viene applicata una trasformazione di coordinate.
OST (Optical See-Through)
Si riferisce alla tecnologia AR in cui lo schermo dell'HMD è trasparente e l'HMD visualizza solo contenuti virtuali sullo schermo. Un rappresentante tipico è HoloLens. Solitamente, la matrice di proiezione prospettica per i contenuti virtuali è impostata dall'SDK fornito dall'HMD. Esternamente, è sufficiente impostare la posa dei contenuti virtuali. La fotocamera fisica utilizzata per il tracciamento e la fotocamera virtuale utilizzata per il rendering dell'immagine sullo schermo potrebbero trovarsi in posizioni diverse; durante il rendering viene applicata una trasformazione di coordinate.
Guide specifiche per piattaforma
Il rendering 3D guidato da AR è strettamente legato alla piattaforma. Fare riferimento alle seguenti guide in base alla piattaforma di destinazione per lo sviluppo: