A SEAMLESS INTERFACE FOR GEOINFORMATION IN AUGMENTED REALITY
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
UNIVERSITA’ DEGLI STUDI DI TRENTO Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Data, Media and Knowledge A SEAMLESS INTERFACE FOR GEOINFORMATION IN AUGMENTED REALITY Relatori: Laureando: Prof. Fausto Giunchiglia Debiasi Alberto Dr. Ing. Raffaele De Amicis Correlatore: Dr. Ing. Gabrio Girardi Anno Accademico 2008 - 2009
Ringraziamenti Desidero innanzitutto ringraziare i relatori della mia Tesi di Laurea, Raffaele De Amicis e Fausto Giunchiglia. Un grazie va a tutto lo staff di Graphitech, in particolare a Gabrio Girardi e Michele Andreolli che mi hanno sopportato durante questi ultimi tre mesi, e a Giuseppe Conti e Stefano Piffer per il supporto tecnico. Desidero inoltre ringraziare con affetto i miei genitori e mio fratello per il sostegno ed il grande aiuto che mi hanno dato durante questi anni di studio. L’ultimo ringraziamento va a tutti i miei amici, in particolare a Elisa, Colo, Martina, Tia, Erco, Vale, Giast ,Stefano ed Enrico. 3
Sommario 1 Introduzione................................................................................................................6 1.1 Contesto .............................................................................................................6 1.2 Scenario .............................................................................................................6 1.3 Obiettivi ..............................................................................................................7 2 La Realtà Aumentata..................................................................................................8 2.1 La Definizione di Azuma e di Milgram ................................................................8 2.2 Caratteristiche Tecnologiche ............................................................................10 2.3 Un excursus storico ..........................................................................................12 2.4 Applicativi attuali ...............................................................................................16 3 Handheld Augmented Reality ...................................................................................20 3.1 Caratteristiche ..................................................................................................20 3.2 Applicativi in Handheld Augmented Reality ......................................................22 3.3 Il mercato del AR mobile ..................................................................................25 4 L’infrastruttura tecnologica .......................................................................................28 4.1 Supporti Hardware............................................................................................28 4.2 Software e Interfacce (tool di sviluppo).............................................................32 4.3 I Web service utilizzati ......................................................................................36 4.4 Formati per rappresentare i dati .......................................................................40 5 IFoods: Caratteristiche Applicativo ...........................................................................44 5.1 Introduzione......................................................................................................44 5.2 Architettura del sistema ....................................................................................45 5.3 Il globo terrestre in Realtà Aumentata ..............................................................52 5.4 Entità Virtuali ....................................................................................................58 5.5 Dettagli implementativi .....................................................................................66 4
6 Analisi Prestazioni ....................................................................................................81 6.1 Lato Server .......................................................................................................81 6.2 Lato Client ........................................................................................................85 7 Sviluppi Futuri...........................................................................................................89 8 Conclusioni ...............................................................................................................90 Bibliografia .......................................................................................................................91 5
1 Introduzione 1.1 Contesto In questi anni la tecnologia ha portato ad un enorme sviluppo di applicazioni di ogni genere su dispositivi mobili. I cellulari di ultima generazione integrano componenti quali CPU, GPU e memoria RAM che consentono prestazioni molto simili a quelle di un normale PC. Sono forniti di diversi supporti hardware tra cui GPS, bussola, accelerometro e consentono all’utente di connettersi ad internet. Con queste caratteristiche il telefonino viene visto sotto un’altra ottica, non più come l’apparecchio per telefonare o scrivere messaggi, ma come un dispositivo multifunzionale dotato di alte prestazioni. Questa evoluzione tecnologica ha fatto riemergere insoddisfatte esigenze portando alla nascita di nuovi mercati e modelli di business. Oggi si fa sempre più spesso riferimento alle applicazioni disponibili sulle varie piattaforme mobile, i cellulari sono divenuti veri e propri strumenti a supporto della produttività personale. Tutto ciò è testimoniato dall’enorme crescita di popolarità di AppStore, un servizio per la vendita di applicazioni per Iphone, IPod e IPad che vanta più di un 3 bilioni di applicazioni scaricate dopo 18 mesi dal suo rilascio1. Questo sviluppo tecnologico ha permesso il diffondersi di una nuova tipologia di applicativi mobile attraverso cui l’utente utilizza i contenuti digitali in un ambiente di realtà aumentata. Tale metafora di interazione permette di sovrapporre ad un flusso di immagini video che rappresentano la realtà, contenuti e animazioni virtuali. All’interno di questo entusiasmante contesto si svolge questo lavoro di Tesi di laurea tramite il quale ho avuto la possibilità di confrontarmi con le più moderne tecnologie disponibili messe a disposizione dalla Fondazione Graphitech dove ho beneficiato di significativi stimoli intellettuali sia in ambito tecnico/scientifico che di incoraggiamento personale. 1.2 Scenario Un cittadino per conoscere le informazioni riguardanti i luoghi di interesse presenti nelle vicinanze e l’itinerario per raggiungerli ha principalmente bisogno di due tipologie di 1 Comunicato della Apple del 5 gennaio 2010 (fonte: http://www.apple.com/pr/library/2010/01/05appstore.html) 6
informazioni. La prima coinvolge i dati riguardanti la collocazione geografica del luogo, che si possono reperire consultando guide turistiche oppure visitando i numerosi cataloghi online. La seconda tipologia riguarda gli itinerari, cioè le strade da percorrere; si può consultare manualmente una cartina stradale oppure utilizzare uno dei servizi presenti nel web come GoogleMaps 2 e ViaMichelin 3 . Le informazioni sono quindi numerose e disponibili gratuitamente. L’utente deve però consultare più fonti e comprendere le informazioni ricevute. Il problema principale di questo scenario riguarda la modalità con cui l’utente interpreta i dati per ricavare le informazioni utili. Ad esempio, la consultazione di una cartina geografica richiederà primariamente il corretto orientamento della stessa. Un altro esempio può essere il caso dell’interpretazione delle mappe: dopo aver utilizzato google maps e presa visione della località richiesta, l’utente dovrà interpretare l’itinerario consigliato per poi ricercare la collocazione reale degli indirizzi segnalati. In questi casi non è presente una corrispondenza immediata tra gli elementi astratti e la realtà. 1.3 Obiettivi In questo lavoro di tesi è stato sviluppato un applicativo che ha l’obiettivo di: veicolare le informazioni provenienti da diverse fonti, per farle confluire in un servizio web; interpretare i dati per fornire un’interfaccia che mette in corrispondenza contenuti virtuali con la realtà rappresentata dalla visione della telecamera. Questo applicativo risolve gli inconvenienti descritti nella sezione precedente con un’interfaccia in realtà aumentata. L’utente ha la possibilità di vedere sovraimpresse le informazioni riguardanti i ristoranti nella zona; icone indicano in che direzione sono localizzati gli esercizi commerciali. Inoltre il percorso consigliato per raggiungere un dato ristorante è sovraimpresso alla strada. I dati georeferenziati che riguardano il routing sono forniti dal servizio googleMaps, mentre i dettagli relativi ai ristoranti sono stati ricavati da diversi cataloghi presenti in rete e immagazzinati in un database. 2 http://maps.google.it/maps 3 http://www.viamichelin.it/ 7
2 La Realtà Aumentata 2.1 La Definizione di Azuma e di Milgram Attualmente non è presente una definizione di Realtà Aumentata (AR), si possono però identificare le due definizioni più utilizzate: Ronald Azuma definisce AR (Azuma, 1997) come una “variazione di un ambiente virtuale (VE),o realtà virtuale , più comunemente chiamata. Le tecnologie in VE immergono completamente l’utente in un ambiente sintetico. Mentre è immerso, l’utente non può vedere il mondo circostante. Invece, AR permette all’utente di vedere il mondo reale, con gli oggetti virtuali sovrapposti.” L’utente ha l’impressione che gli oggetti reali e virtuali sono collocati nello stesso spazio. AR viene vista come un sistema con le seguenti tre caratteristiche: • Combina la realtà con il virtuale; • L’interazione è in real-time; • Registrazione in 3D. Il primo requisito definisce la realtà aumentata, nella quale si combinano contenuti virtuali con la realtà. Il secondo requisito indica la reazione da parte del sistema del comportamento dell’utente e l’aggiornamento in real-time. L’ultimo requisito è la modalità in cui gli oggetti reali e virtuali sono messi in corrispondenza tra loro e definisce una distinzione con il concetto di realtà virtuale, poiché i contenuti virtuali devono essere registrati in 3D all’interno del mondo reale. Paul Milgram e Fumio Kishino definiscono AR come “un modo per rappresentare insieme oggetti reali e virtuali in un singolo display; si trova tra le estremità del Continuum virtuale.” Milgram formula inoltre una serie di concetti4 (vedi Figura 2); Figura 1: Rappresentazione semplificata di "continuum virtuale". 4 Per approfondire questo argomento consultare il documento scientifico (Milgram & Kishino, 1994). 8
Innanzitutto, viene definito il concetto di “continuum virtuale”(vedi Figura 1), che è l’unione di tutte le classi di oggetti presentati in una qualsiasi situazione visiva. La distinzione tra cosa è “reale” e cosa è “virtuale” è legata al significato di oggetto: • gli oggetti reali hanno una attuale esistenza oggettiva; • gli oggetti virtuali non sono ne formali ne attuali, esistono solo in essenza. Da notare la distinzione tra vista diretta e non diretta: • la vista diretta ci permette di avere una visione immediata della realtà; • la vista non-diretta di un oggetto reale utilizza un sistema di immagini che campiona i dati dell’oggetto per poi ricostruirli tramite un determinato supporto di visualizzazione. L’ultima distinzione è tra le immagini reali e virtuali: • Una immagine reale è “una qualsiasi immagine che presenta luminosità 5 nel luogo in cui appare”. • Una immagine virtuale è l’opposto, non presenta luminosità nel luogo in cui appare. Figura 2: differenti aspetti che distinguono la realtà dal modo virtuale: gli oggetti, le visioni e le immagini 5 la luminosità è la quantità totale di luce che una sorgente luminosa appare emettere (o che appare riflessa da una superficie) 9
2.2 Caratteristiche Tecnologiche In questa sezione descrivo le caratteristiche di un sistema in Realtà aumentata6. Può essere strutturato usufruendo di diverse tecnologie hardware, sia nella fase di visualizzazione che in quella di tracking. 2.2.1 Tecnologie per la visualizzazione Una strategia di base per sviluppare un sistema in AR definisce in che modo avviene l’unione tra la realtà e i contenuti virtuali. Può essere ottenuta con tecniche differenti: 2.2.1.1 Monitor based Figura 3:Tecnica Monitor based Questa è la tecnica più semplice riguardante l’AR, visualizza attraverso un monitor le informazioni provenienti dalla telecamera sovraimposte all’ambiente virtuale generato dal computer. La telecamera può essere statica o mobile. Le immagini possono essere visualizzate in stereo 7 su monitor, in tal caso l’utente indosserà un paio di “occhiali stereo” 6 Per avere una descrizione dettagliata visitare (Azuma, 1997) e (Angero & Sartori, 2002) 7 La Stereoscopia è una tecnica di imaging in grado di dare l'illusione della profondità di un'immagine. 10
2.2.1.2 Video see through display Figura 4: Tecnica Video see through display Con questa tecnica, l’utente indosserà speciali occhiali nei quali sono installati due piccoli monitor, per consentire al soggetto di essere completamente immerso in un mondo in cui gli oggetti reali e virtuali “coesistono”. La risoluzione degli oggetti visualizzati (sia reali che virtuali) è influenzata dai dispositivi hardware quali telecamera e monitor. Inoltre, la differente posizione della telecamera rispetto all’occhio introduce uno “spostamento” tra la visuale dell’utente comparato con il punto di vista della telecamera. I prodotti in commercio più comuni utilizzati per questa tecnica sono i seguenti: Microvision Nomad, Sony Glasstron, e I/O Monitor. 2.2.1.3 Optical see through display Questa tecnica è la più complicata ma è anche la migliore, attraverso la quale si possono ottenere risultati ottimali. L’utente indossa un paio di occhiali, sulle cui lenti viene proiettata la scena virtuale. Tale sistema è molto simile agli “Head-Up display” utilizzati negli aerei militari. Per permettere una visione ottimale viene ridotta l’intensità della luce della scena reale. Figura 5: Tecnica “Optical see through display” 11
Non consentono però la realizzazione di effetti visivi complessi. Il blending ottico è più semplice e conveniente rispetto al blending video, inoltre non è presente nessun “offset” poiché il punto di vista dell’utente coincide con quello della telecamera Questo sistema offre una vista istantanea del mondo reale, ma una visione ritardata dell’oggetto virtuale. 2.2.2 Sistemi di Tracking Ottici Un sistema di Tracking è utilizzato per mettere in corrispondenza un riferimento virtuale con la realtà. In seguito verranno descritti i due più diffusi sistemi di tracking visuali. Molte tecnologie “non-ottiche” sono state applicate in questo campo, come ad esempio campi magnetici ed ultrasuoni (Azuma, 1997); comunque il basso costo delle videocamere e elevata diffusione di software per il “video capture8”,hanno portato all’uso di videocamere come sensori di tracking. 2.2.2.1 Natural Feature Tracking Questa tipologia di tracking riconosce caratteristiche dell’ambiente, come texture o linee. Il processo si attua comparando gli oggetti nello streaming video con forme, colori o texture conosciute. Il problema principale per questo tipo di tracking è la necessità di una elevata potenza di calcolo e quindi non è ancora utilizzata in dispositivi mobili come il cellulare. 2.2.2.2 Marker Tracking Un altro metodo per eseguire il tracking della posizione dell’utente è detto “fiducial markers”. I fiducial markers sono oggetti facili da riconoscere che sono posizionati nell’ambiente attorno al soggetto. In genere vengono utilizzati codici a barre, poiché sono semplici da identificare in uno stream video. Ogni “marcatore” può essere riconosciuto anche se viene ruotato, e in genere rappresenta un identificativo numerico. Utilizzando questa tecnica è può semplice e veloce riconoscere la posizione dell’utente ed è anche la soluzione migliore applicata su telefoni cellulari. Il lato negativo è che l’utente è limitato all’ambiente nel quale sono stati installati i marcatori. 2.3 Un excursus storico In questa sezione vengono riassunti i sistemi 9che hanno caratterizzato questo campo. Vengono descritti applicazioni di vario genere: indoor, outdoor, con l’utilizzo di fiducial markers e per dispositivi mobili. 8 Il Video capture è il processo per converture un segnale video anlogico in forma digitale. 9 La maggior parte delle informazioni sono prese da (Wagner D. , History of Mobile Augmented Reality) 12
2.3.1 La nascita della realtà aumentata Nel 1962 Ivan Sutherland crea il primo sistema in realtà aumentata (Sutherland, 1968). È composto da un “optical see through head mounted display” (vedi capitol 2.2.1.2 ), e dispone di due tracker: uno meccanico e uno ad ultrasuoni. Nel 1975 Myron Krueger crea un applicazione chiamata Videoplace. Impiega due proiettori, una video camera, uno speciale hardware, e delle sagome raffiguranti gli utenti, in modo da collocare il soggetto all’interno dell’ambiente interattivo. Con questa tecnologia è possibile far interagire utenti in stanze separate. Figura 6: Il primo sistema con realtà aumentata. 2.3.2 Gli anni novanta In questi anni molti ricercatori iniziano ad interessarsi a questo ambito. Tom Caudell e David Mizell (Caudell & Mizell, 1992) coniano il termine “realtà aumentata”, per indicare la sovraimpressione di materiale presente su computer sul mondo reale. Si possono distinguere due tipologie principali che hanno interessato le ricerche. Un ambito è l’AR applicata a spazi aperti (outdoor). L’altro è l’AR applicata a spazi chiusi (indoor), che è stato il primo ad essere sviluppato, poiché .i dispositivi venivano molto spesso utilizzati in laboratorio. G. W. Fitzmaurice crea Chameleon (Fitzmaurice, 1993), un sistema che utilizza un tracker magnetico installato in una piccola struttura. L’utente interagisce attraverso un dispositivo mobile con il movimento delle mani. J. Loomis sviluppa un prototipo (Loomis, Golledge, & Klatzky) per un sistema di navigazione per non vedenti. Si serve di un database GIS 10(Geographic Information System) e consente di assistere il soggetto con l’ausilio di un display acustico: le indicazioni sono strasmesse attraverso un sintetizzatore vocale. Steve Feiner presenta la Touring Machine (Feiner, MacIntyre, Höllerer, & Webster, 1997), il primo sistema di AR mobile (detto MARS). Adotta un paio 10 Il GIS è un sistema informativo computerizzato che permette l'acquisizione, la registrazione, l'analisi, la visualizzazione e la restituzione di informazioni derivanti da dati geografici (geo-referenziati). 13
di occhiali con tracker per l’orientamento;uno zaino contenente un computer, un GPS 11 differenziale, una digital radio per accedere al web; e un computer portatile con interfaccia touchscreen. Bruce Thomas introduce "Map-in-the-hat" (Thomas, Demczuk, W, Hepworth, & Gunther, 1998), composto da uno zaino contenente un computer con GPS, una bussola elettronica e un head-mounted display. Nel 2001 Tobias Höllerer sviluppa il primo sistema (Höllerer, Feiner, & Pavlik, Situated documentaries: Embedding multimedia presentations in the real world, 1999) in AR che utilizza un RTK GPS12 e un tracker magnetico inerziale, consente di sapere la posizione e la direzione dell’utente. Höllerer sviluppa poi un altro sistema in AR mobile (Höllerer, Feiner, Terauchi, Rashid, & Hallaway, 1999); consente all’utente di interagire in uno spazio chiuso con spazi aperti. In sostanza mentre un utente esplora l’ambiente esterno con un “head-mounted display”, il soggetto presente in uno spazio chiuso ne riceve la visione. C’è un altro ambito che riguarda il riconoscimento di oggetti (vedi capitolo 2.2.1.3 ). Nel 1995 Jun Rekimoto e Katashi Nagao sviluppano the NaviCam (Rekimoto & Nagao, The World through the Computer: Computer Augmented Interaction with Real World Environments, 1995). È formato da una videocamera montata su uno schermo mobile utilizzato per il tracking ottico. Il computer, basandosi sui colori dei markers, visualizza le informazioni direttamente a video con la tecnica “video see-through”. Un anno dopo Jun Rekimoto presenta “2D matrix markers” (Rekimoto, Augmented Reality Using the 2D Matrix Code, 1996), il primo sistema di “markers” che permette il tracking sulla telecamera con 6DOF 13 . Hirokazu Kato e Mark Billinghurst presentano ARToolKit (Kato & Billinghurst, 1999), una libreria open source che consente il tracking utilizzando “fiducial markers”, rispetto ai quali vengono calcolati in tempo reale la posizione e l’orientamento ella telecamera. 11 Digital radio è un metodo di modulazione digitale. 12 RTK è un processo in cui le correzioni del segnale GPS sono trasmesse in tempo reale da un ricevitore di riferimento a uno o più ricevitori remoti. 13 6DOF è l'acronimo di sei gradi di libertà in inglese (Six Degrees Of Freedom) e si riferisce al movimento nello spazio tridimensionale, ovvero l'abilità di muoversi liberamente avanti/indietro, sù/giù, sinistra/destra (traslare in tre assi) perpendicolari combinati con rotazione lungo tre assi perpendicolari (imbardata, beccheggio, rollio). 14
Figura 7: ARToolkit 2.3.3 Il ventunesimo secolo In questi anni l’AR riscuote un grande interesse, specialmente nell’ambito di sistemi outdoor e per quanto riguarda le applicazioni su dispositivi mobili. Hara con un team di ricercatori introducono TOWNWEAR (Satoh, Anabuki, Yamamoto, & Tamura, 2001), un sistema outdoor che utilizza un giroscopio a fibra ottica per il tracking sull’orientamento. La Computer Grafica della Columbia e User Interfaces Lab svolgono una dimostrazione del loro “mobile AR restaurant guide” al ISAR 2001, il soggetto vede le informazioni riguardanti la ristorazione sovraimpresse alla realtà. I contenuti virtuali riguardano i menu, le foto e l’indirizzo web. Reitmayr (Reitmayr & Drummond, 2006) presenta un modello basato sul tracking ibrido in ambienti urbani che sovraimprime contenuti virtuali in modo accurato e in tempo reale su dispositivi palmari. Il sistema combina un “edge-based tracker”, cioè individua i bordi degli oggetti che osserva, per localizzarsi in modo accurato, e un giroscopio per registrare i movimenti che compie il soggetto, viene misurato il campo magnetico e include un sistema per re-impostare i frame in caso di occlusione. Sean White introduce SiteLens (White & Feiner, 2009), un sistema AR palmare per pianificazioni urbane. SiteLens genera delle visualizzazioni utilizzando i dati che riguardano l’ambiente circostante. Ad esempio, i dati che indicano la concentrazione di monossido di carbonio sono sovraimpressi sui siti coinvolti. Ci sono anche applicazioni che riguardano altri campi differenti da sistemi “outdoor”. Joseph Newman con altri ricercatori presenta BatPortal (Newman, Ingram, & Hopper, 2001). Utilizza una connessione wireless ed è pensato per spazi chiusi. La localizzazione è eseguita misurando il tempo che impiegano gli impulsi ultrasonici tra uno speciale dispositivo indossato dall’utente con un ricevitore installato nell’edificio. Kooper e MacIntyre sviluppa RWWW Browser (Kooper & MacIntyre, 2003), una applicazione AR mobile che agisce come un’interfaccia del World Wide Web. È il primo 15
browser AR. Adrian David Cheok presenta “Human Pacman”. Utilizza un GPS e degli appositi sensori per ricavare la prospettiva e la posizione del soggetto. Attraverso una connessione bluetooth l’utente è collegato ad un computer. METAIO presenta una “guida al museo” (Miyashita, Meier, & Tachikawa, 2008) in AR, utilizza un dispositivo tascabile per ricevere informazioni sulle opere presenti in un museo. Per quanto riguarda le applicazioni su dispositivi mobili, nel 2001 Jürgen Fruend introduce AR-PDA (Fruend, Geiger, Grafe, & Kleinjohann, 2001), un concetto per sviluppare un sistema wireless AR con uno speciale prototipo di hardware palmare. L’idea di base è quella di aggiungere all’immagine della telecamera oggetti virtuali che rappresentano illustrazioni per il funzionamento di apparecchi domestici. Nel 2004 Mathias Möhring presenta un sistema di “tracking 3D markers” (Möhring, Lessig, & Bimber, 2004) su un telefonino. È composto da un display “video see-through”. Supporta differenti “markers 3D”. In questo stesso anno viene presentata la prima applicazione in realtà aumentata per dispositivi palmari chiamata The Invisible Train (Wagner D. ). È un gioco nel quale gli utenti controllano un treno virtuale in una reale ferrovia in miniatura. I treni sono visibili solamente tramite il display del palmare. Anders Henrysson sviluppa ARToolKit per sistemi operativi Symbian. Con questa tecnologia presenta un gioco chiamato AR-Tennis (Henrysson, Billinghurst, & Ollila, 2005), il primo gioco in AR per cellulari per due giocatori. HIT Lab NZ e Saatchi rilasciano la prima applicazione in AR basata sulla pubblicità. E’ stata sviluppata per lo Zoo di Wellington. 2.4 Applicativi attuali 2.4.1 PISTE AR è molto utilizzata nelle trasmissioni televisive, soprattutto per quanto riguarda gli eventi sportivi. Nella ricerca (Demiris, Traka, & Reusens, 2005) viene descritto il sistema PISTE (Personalized Immersive Sports TV Experience) la cui architettura permette di aggiungere elementi visivi nelle riprese, sia in real-time che durante un replay. In questi casi ci sono degli oggetti virtuali che vengono sovraimpressi alla realtà. Questi oggetti possono ad esempio essere: la linea “first-down” gialla durante le partite di football americano; una linea colorata che indica la posizione e la direzione del dischetto per le partite di hockey su ghiaccio; loghi pubblicitari inseriti sui campi di rugby e cricket; una linea per indicare la posizione dell’attuale record del mondo durante le competizioni di nuoto; un cerchio per visualizzare la distanza tra il giocatore che si appresta a battere un calcio di punizione e la barriera in una partita di calcio. 16
14 In tutti questi esempi è stato necessario effettuare un geo-tagging dell’ambiente interessato. La limitazione di questa tecnica sta nel fatto che non viene applicata a persone, in questo caso agli sportivi. Non è comunque un problema insormontabile poiché si potrebbe utilizzare un piccolo dispositivo da applicare ad ogni giocatore, in modo da avere informazioni aggiuntive in real-time. Figura 8: Un esempio di realtà aumentata durante una partita di football 2.4.2 VirtualStudio2Go: Digital Video Composition for Real Environments Una tecnica utilizzata in ambito televisivo per creare effetti speciali è la “chroma keying”; che permette di unire due sorgenti video, sfruttando un particolare colore (appunto il "colore chiave") per segnalare al mixer video quale sorgente usare in un dato momento. Necessita però di più di una ripresa (una con lo sfondo blu e una senza). VirtualStudio2Go (Grundhoefer & Bimber, 2008) consente di applicare ad una “scena” un particolare sfondo, si serve di proiettori sincronizzati e applica la tecnica “radiometric compensation 15 ” In questo modo il riflesso della superficie reale sottostante viene annullata. L’equipaggiamento è semplice, compatto e facile da montare. Dopo aver pre- processato le immagini registrate, questo approccio rimane compatibile con i software per la composizione del video. Questo sistema presenta anche delle limitazioni: è meno robusto con sfondi complessi che assorbono molta luce o che causano effetti di specular 14 Il Geotagging è il processo per aggiungere informazioni geografiche a diversi media, come ad esempio fotografie, video. Le informazioni consistono nelle coordinate latitudine e longitudine con inoltre l’altitudine, l’accuratezza del dato. 15 La tecnica radiometric compensation consente di proiettare immagini su superfici colorate 17
highlights16. Inoltre il sistema non funziona se la luminosità dell’ambiente è diversa dalla luminosità dei proiettori. Poiché il processo di multiplexing è sincronizzato ad una bassa velocità l’utente può percepire un lieve “sfarfallio” delle luci LED. Inoltre, veloci movimenti di camera esauriscono le capacità di “motion interpolation”, che rende l’animazione più fluida. 2.4.3 SixthSense SixthSense (SixthSense: integrating information world) è stato sviluppato da Fluid Interface Group e MIT Media LAB. Consiste in un dispositivo da indossare intorno al collo, capace di generare automaticamente un'interfaccia utente di tipo gestuale, proiettata (tramite un dispositivo integrato) su una qualunque superficie. È composto da una videocamera che registra ciò che l'individuo vede intorno a sé, collegandosi ad un piccolo computer dotato di connessione Internet. L'utente può così interagire con l'ambiente e gli oggetti circostanti, attraverso alcuni sensori colorati indossati sulla punta delle dita. Il campo delle applicazioni per questo prototipo è vasto; con la sola imposizione delle dita sarà possibile scattare una fotografia oppure fare un'addizione su una piccola calcolatrice apparsa sul palmo della mano. Tracciando un cerchio su polso apparirà un orologio virtuale. Si potranno vedere video sul giornale che si sta leggendo. Sarà possibile visualizzare le informazioni nutrizionali di un prodotto semplicemente prendendolo in mano. Il costo degli accessori è di soli 350 dollari e verrà lanciato sul mercato seguendo una logica prettamente open source. Figura 9: Componenti utilizzati nel progetto Sixth Sense 16 L’effetto specular highlights indica il punto luminoso di luce che appare su un oggetto lucido quando è illuminato 18
19
3 Handheld Augmented Reality 3.1 Caratteristiche Come descritto nella precedente sezione, in molti casi i sistemi di AR sono complessi, costosi, fragili e pesanti; caratteristiche che li rendono inadatti per la distribuzione su larga scala per utenti con nessuna esperienza a riguardo. Con lo sviluppo delle ultime tecnologie il campo della AR sta passando su dispositivi “palmari” come Tablet PC, PDA e telefoni cellulari. Figura 10: Rappresentazione delle diverse tecniche di Handheld Augmented Reality Come descritto in diversi studi scientifici (Wagner D. , Handheld Augmented Reality, 2007) e (Daniel & Schmalstieg, 2009) queste classi di dispositivi si differenziano sotto molti aspetti; con i dispositivi hardware tradizionali di AR, l’utente ha le mani libere, e può usufruire di molta potenza di calcolo. Il HMD fornisce un’alta sensazione di coinvolgimento. Il Tablet PC è composto da una semplice interfaccia ma non ha integrata una telecamera, e questo limitata l’utilizzo di applicazioni in AR. Per peso e dimensioni, il PDA si può collocare tra il cellulare e il Tablet PC. Il cellulare è il dispositivo più diffuso, inoltre è anche il più economico. I cellulari di ultima generazione permettono di accedere ad internet, per questo motivo molte operazioni possono essere svolte dal server. Si possono quindi definire quattro differenti livelli di gestione delle attività con il server: • Nel caso ideale (Figura 11a), tutte le attività sono svolte dal client, che è di conseguenza indipendente dal server. • Nel caso opposto(Figura 11b), avviene uno scambio di dati streaming video, in questo modo sarà il server ad elaborare queste informazioni. Questa classe richiede una rete a banda larga. 20
• In questo caso (Figura 11c) solo i dati che riceve il server saranno in formato immagine, mentre i dati del client in input saranno comandi per la gestione del rendering17. • Nell’approccio (Figura 11b) la maggior parte delle funzioni sono svolte dal client. In questo modo la dipendenza tra client e server è minima. Figura 11: differenti tipologie di interazione con il server Non si può dire a priori quale sia la soluzione ideale, la scelta diede dalla capacità di elaborazione delle informazioni da parte del client e del server, e dalla velocità di connessione. 17 Il Rendering identifica il processo di "resa" ovvero di generazione di un'immagine a partire da una descrizione matematica di una scena tridimensionale interpretata da algoritmi che definiscono il colore di ogni punto dell'immagine. 21
3.2 Applicativi in Handheld Augmented Reality 3.2.1 ARhrrrr! L’ Augmented Environments Lab (AEL) è un gruppo di ricerca nel GVU Center. Il gruppo lavora nell’area dell’AR dal 1998. Questo gruppo ha rilasciato un gioco in AR per telefoni cellulari chiamato “ARhrrrr18” . Il telefono diventa un “portale” che proietta l’utente in una città 3D invasa dagli zombie. Per mischiare elementi virtuali con la realtà si utilizza una speciale mappa (Figura 12). La trama del gioco è semplice: i civili sono intrappolati in città, devono quindi scappare prima che gli zombie li raggiungano. Il giocatore deve colpire gli zombie per liberare il passaggio il civili. L’ambientazione e i personaggi sono oggetti virtuali. Lo scopo principale di questo gioco in AR è stato quello di gestire i movimenti della telecamera non più con mouse o tastiera, ma direttamente muovendo il dispositivo portatile. Questa applicazione utilizza numerosi “markers” applicati alla speciale mappa di gioco, che consentono di creare l’ambiente virtuale in base al punto di vista del giocatore. Figura 12: Speciale Mappa di gioco utilizzata Figura 13: Un esempio di gioco. per mescolare contenuti virtuali con contenuti reali. 3.2.2 AR DRONE Parrot, è un’azienda che si occupa di dispositivi wireless per telefoni cellulari. La compagna è stata fondata nel 1994 da Henry Seydoux. Questa società ha sviluppato un applicazione chiamata AR.Drone 19. È disponibile per IPhone e IPod Touch. AR.Drone è un “aircraft” elettronico, ha installate due telecamere, ed utilizza una connessione 18 Per ulteriori informazioni visitare il sito: http://www.augmentedenvironments.org/lab/research/handheld- ar/arhrrrr/ 19 Per una descrizione dettagliata visitare il sito: http://ardrone.parrot.com/parrot-ar-drone/en/video-games 22
wireless per essere comandato. Adotta due trasmettitori ad ultrasuoni, un accelerometro a 3-assi, e un giroscopio a 2-assi per permettere una stabilità verticale. I controlli sono semplici; un pulsante fa decollare il velivolo. Due pulsanti consentono all’ aircraft di ruotare rispettivamente a destra e a sinistra. Uno slider gestisce l’altezza e un pulsante permette la gestione dei movimenti da parte dell’utente direttamente muovendo l’IPhone. Nel caso in cui la connessione wireless non da segnale, il velivolo atterrerà senza subire danni. Questo sistema non gestisce solo la guida dell’ aircraft attraverso dispositivi mobili; i vari dispositivi di orientamento permettono di sincronizzare la scena virtuale con la realtà. Sul display dell’IPhone vengono sovrapposte, alle immagini della telecamera montata su ARDrone, oggetti virtuali che rappresentano veicoli nemici da sconfiggere. Questa applicazione non è tuttora sul mercato e la data di uscita non è stata ancora fissata. Figura 14: Una immagine di gioco ARDrone Figura 15: Due giocatori si sfidano tra loro 3.2.3 Wikitude Mobilizy ha rilasciato una guida turistica in AR per telefoni cellulari. L’applicazione si chiama Wikitude World Browser ed è disponibile per IPhone e per telefoni con tecnologia Android. Con questo software l’utente può vedere il mondo attraverso la telecamera del telefono, con sovrapposti contenuti provenienti da diverse fonti: Wikipedia, recensioni di 20 Qype e contenuti generati dagli utenti attraverso Wikitude.me . Tutte queste informazioni consentono di descrivere in modo dettagliato un luogo geografico. Attualmente il database comprende più di 350.000 località sparse in tutto il mondo. Gli stessi creatori hanno sviluppato “Wikitude Drive”, che a differenza del precedente applicativo svolge la funzione di navigatore. Il software non necessita di mappe digitali per la creazione degli itinerari, poiché tutte le immagini provengono direttamente dalla fotocamera del telefono. Dopo aver scelto la destinazione, sullo schermo comparirà 20 Questo servizio consente all’utente di caricare i suoi punti di interesse in formato KML: http://www.wikitude.me/ 23
un’icona corrispondente alla prossima manovra da effettuare. Attualmente questa applicazione è ancora in fase di sviluppo, e verrà caricata prossimamente su AppStore. Entrambe le applicazioni sfruttano i dispositivi GPS, bussola, e accelerometro presenti nei telefonini di ultima generazione. Figura 16: -Wikitude- Un esempio di quello che l’utente vede attraverso il display del telefono. 3.2.4 Discover Anywhere Mobile Discover Anywhere Mobile21(DAM) è una joint venture lanciata da Cartesian Software Consulting e Echo Consultants. Questa applicazione è simile a Wikitude, da la possibilità all’utente di essere sempre connesso con le informazioni di cui ha bisogno legate a conferenze, negozi, alloggi, trasporti e ristoranti presenti nelle sue vicinanze. DAM utilizza una connessione ad internet per ricevere le informazioni riguardanti i luoghi di interesse dell’utente, il GPS per conoscere la posizione attuale del dispositivo e la bussola elettronica per orientarsi. Nel primo anno, questo applicativo sarà gratuito, in seguito il costo varierà in base al numero di utenti e alla tipologia di caratteristiche aggiuntive desiderate – ad esempio integrazione con Facebook-. 21 Per ulteriori informazioni visitare il sito: http://www.discoveranywheremobile.com/about/ 24
Figura 17: Uno snapshot di Discover Anywhere Mobile. 3.3 Il mercato del AR mobile Il mercato del handheld AR, è fortemente legato al quello dei dispositivi mobili che utilizzano questa tecnologia. In questo ambito ci sono molte ricerche che studiano l’evolversi del mercato. Secondo una ricerca della ChangeWave Research (Crumrine & Carton), nel settembre 2009 il 40% dei cellulari attualmente in uso sono smartPhone, Figura 18: Grafico raffigurante la percentuale di proprietari di uno Smart Phone tra i possessori di cellulari Da una indagine della Wireless Expertise (The future of mobile application storefronts, 2009), il numero di SmartPhone venduti passerà da 165 milioni quest’anno a 423 milioni nel 2013. La crescita sarà dovuta soprattutto ad un rilascio sul mercato di modelli di fascia medio-bassa con prezzi abbordabili. Questa crescita influenzerà anche la diffusione delle applicazioni per telefonini; le vendite passeranno da 4,66 miliardi di dollari quest’anno a 16,60 miliardi nel 2013. La Apple nel luglio 2008 ha dato una scossa al 25
mercato con AppStore; un servizio che consente di scaricare sia gratuitamente che a pagamento applicazioni sviluppate con IPhone SDK. Questo consente non solo a programmatori esperti di “uplodare” le proprie applicazioni ma anche a utenti semplici. AppStore conta un gran numero di applicazioni disponibili al download; che variano sia per il contenuto che per il prezzo di acquisto. Sono divise in 20 categorie; tra cui: giochi, intrattenimento, educazione e utilità. Dall’ultimo comunicato della Apple (Apple’s App Store Downloads Top Three Billion) si evidenzia che su AppStore ci sono stati più di tre bilioni di download. Il mercato delle applicazioni per telefonino è destinato a crescere; ci sono nuovi sistemi operativi mobili come Symbian, Microsoft Windows Mobile, Research in Motion e Google Android (che con Android Market conta circa 16 mila applicazioni (ABIResearch)). Per quanto riguarda le applicazioni in AR è difficile prevederne l’andamento sul mercato. Secondo LG è fondamentale produrre smartphone con preinstallato un software in realtà aumentata. La Juniper Research in uno studio (Research, 2009) ha descritto tre fattori che influenzeranno il guadagno per queste applicazioni: • Pay per download, l’applicazione viene pagata nel momento in cui viene scaricata – un esempio è AppStore-. • Subscriptions: l’utente scarica gratuitamente l’applicazione e si abbona pagando periodicamente un costo. • Advertising: il guadagno viene fornito attraverso la pubblicità di un prodotto. Il grafico in Figura 19 rappresenta cosa la Juniper Research si aspetta nel futuro per questi fattori. Figura 19: Possibile andamento del mercato delle applicazioni su telefonino secondo Jupiter Research 26
Nel 2014 il valore nel mercato raggiungerà 732 milioni, anche se nel 2010 sarà di soli 2 milioni (dovuto al fatto che solo una piccola percentuale di smartphone avrà la possibilità di supportare applicazioni in AR). Il grafico mostra un lieve aumento per tutti i fattori fino al 2012 e una forte crescita costante fino al 2014. La tipologia più redditizia è “incremental”, cioè attraverso l’abbonamento seguita da “Point of Sale” (pay per download) e infine da “Advertising”. 27
4 L’infrastruttura tecnologica In questo capitolo vengono descritti gli elementi che compongono il sistema. Vengono analizzati i componenti hardware sfruttati, le diverse tipologie di formato per rappresentare le informazioni, i tool di software impiegati per sviluppare l’applicazione e infine le API adottate. Il seguente schema descrive come interagiscono questi componenti nel sistema. Figura 20: Elementi che compongono il sistema 4.1 Supporti Hardware In questa sezione descrivo il dispositivo palmare utilizzato per il progetto. Ho deciso di utilizzare l’IPhone 3GS 22poiché ha tutto il necessario per sviluppare una applicazione in AR; il processore è a 600Mhz con 256MB di RAM che consente una buona velocità nell’eseguire i processi. La GPU è una PowerVR SGX a 200Mhz. A questa velocità può gestire 7 milioni di triangoli al secondo, e caricarli alla velocità di 250 milioni di pixel al secondo. Il display è da 3,5’’ con una risoluzione di 480x320 pixel a 163 ppi 23 che 22 Per ulteriori dettagli tecnici: http://www.anandtech.com/gadgets/showdoc.aspx?i=3579&p=3 23 Ppi (pixer per pollice) è legato alla dimensione in pollici del display in numero di pixel in larghezza e in altezza. 28
consente all’utente una buona visibilità. In questo capitolo verranno descritti in dettaglio i componenti utilizzati. 4.1.1 Dispostivi di geolocalizzazione 4.1.1.1 Assisted GPS Il GPS (Global Positioning System), è un sistema sviluppato dal dipartimento della difesa degli Stati Uniti. Inizialmente era un progetto militare che poi è stato reso pubblico. Il sistema è formato da tre componenti: i centri di controllo, i satelliti e i ricevitori. Ci sono almeno 24 satelliti che ruotano attorno al pianeta ogni 12 ore in una delle 6 orbite. In ogni punto del pianeta ce ne sono almeno 6 di visibili –a parte casi in cui si viene oscurati da edifici-. Il GPS funziona nel seguente modo; le stazioni di controllo monitorano i satelliti. Un ricevitore conosce la posizione del satellite e conosce quando è stato inviato il segnale, quindi può calcolarne la distanza. Con tre satelliti le possibili posizioni in cui si trova il ricevitore sono due. Generalmente la precisione di questo sistema si aggira nell’ordine dei metri. La causa principale di errori può essere la ionosfera; il segnale può subire dei ritardi anche dovuti alle condizioni atmosferiche. A-GPS è in grado di velocizzare enormemente il processo si Fixing 24avvalendosi di informazioni reperite dalle celle della rete telefonica attraverso dei “cell broadcast25” e da reti WiFi. L'idea di fondo dell’ A-GPS è la seguente: poiché ogni cella di telefonia mobile presente sul territorio ha una posizione fissa, si fa in modo che sia la cella a ricavare quali siano i satelliti GPS ad essa in vista, ad ogni intervallo di tempo fissato. Quando un terminale A-GPS vuole conoscere la sua posizione, si collega tramite la rete cellulare ad un Assistance, al quale viene inviata anche l'informazione sulla cella a cui l'utente è agganciato. Dato che sono noti i satelliti in vista alla cella, si può dedurre che anche il terminale A-GPS veda i medesimi satelliti. Pertanto il server elabora una lista con i satelliti in vista, e la invia attraverso la rete cellulare al terminale, che in questo modo può ricavare immediatamente la propria posizione. A differenza del GPS, questo servizio avrà un costo, poiché si appoggia all’operatore telefonico. 4.1.2 Dispositivi di Orientamento 4.1.2.1 Magnetometro Questi tipi di sensori misurano l’orientamento. Sono semplici e non molto costosi. Il valore restituito è un angolo che rappresenta la direzione in cui si trova il polo nord 24 Fixing: è l’operazione che deve compiere il terminare per ricavare la lista dei satelliti in vista in quel momento, per potervisi agganciare e cercare di rilevare la propria posizione. 25 Il servizio cell broadcast è una modalità di comunicazione unidirezionale e generalizzata di brevi messaggi di testo prevista nelle attuali reti di telefonia cellulare. 29
magnetico. Il campo magnetico della Terra è relativamente debole quindi non sempre questo valore è preciso. Oggetti in metallo possono influenzare negativamente questa misurazione. Il valore 0 rappresenta il Nord magnetico, 90 rappresenta l’est magnetico, 180 rappresenta il sud magnetico, e così via. 4.1.2.2 Accelerometro Nella maggior parte degli accelerometri, il principio di funzionamento è il medesimo: si basa sulla rilevazione dell’inerzia di una massa quando viene sottoposta ad una accelerazione. La massa viene sospesa ad un elemento elastico, mentre un sensore ne rileva lo spostamento rispetto alla struttura fissa del dispositivo. In presenza di un’accelerazione, la massa (che è dotata di una propria inerzia) si sposta dalla propria posizione di riposo in modo proporzionale all’accelerazione. Questo dispositivo consente quindi di conoscere in ogni momento in che modo è orientato. Un vettore in 3 dimensioni indica questa misurazione. La Figura 21 indica diverse inclinazioni dell’IPhone con il relativo vettore in 3 dimensioni. Figura 21: Differenti esempi di inclinazioni con relativo vettore. 4.1.2.2.1 Filtro passa-basso L’accelerometro molto spesso è affetto sia da disturbi che da piccole variazioni nel dato ricevuto. Questo filtro ha il compito di eliminare questi errori. La Figura 22 mostra una linea temporale che rappresenta il valore registrato dall’accelerometro con e senza il filtro passa-basso. 30
Figura 22: Segnale con differenti filtri. 4.1.3 Dispositivi di Comunicazione 4.1.3.1 Connessione ad internet Al giorno d’oggi i nuovi telefoni cellulari, incluso l’IPhone 3GS, dispongono di una connessione ad internet. In questa applicazione la connessione è utilizzata per far comunicare il client con il server. Il server si occuperà di fornire all’utente le informazioni riguardanti i ristoranti più vicini e gli itinerari consigliati per raggiungerli. Queste operazioni verranno descritte nei prossimi capitoli (vedi capitolo 5.2 ). Ci sono due tipi di connessioni ad internet da utilizzare con IPhone: • La connessione Wi-Fi che copre aree limitate, il range indoor è di circa 38 metri, mentre il range outdoor di circa 140 metri. • La connessione attraverso telefonia cellulare. È una tipologia di accesso ad una rete telefonica. L'accesso è di tipo privato, cioè di proprietà dell'utente ed è realizzato per mezzo di onde radio e ricetrasmettitori terrestri. L’utilizzo di internet non è un requisito fondamentale per creare applicazioni in AR. In questo caso è utilizzato dall’interfaccia grafica dell’applicativo, ma a priori per scambiare informazioni necessarie per generare poi l’ambiente virtuale (vedi capitolo 5.3.2.2 ). 4.1.4 Dispositivo per l’acquisizione informazioni dall’ambiente reale 4.1.4.1 Video Camera Come visto nei capitoli precedenti (vedi capitolo 2.2.1 ) ci sono diverse modalità di visualizzazione. L’IPhone ha integrato al suo interno una videocamera. Questo dispositivo è utilizzato per avere la visione della realtà dal punto di vista dell’utente, sulla 31
quale poi verranno sovraimpressi gli oggetti virtuali. Le caratteristiche tecniche della telecamera, quali la risoluzione e il numero di fotogrammi al secondo, influiscono sulla qualità dell’applicazione. L’IPhone 3GS dispone di una telecamera integrata con le seguenti caratteristiche: • risoluzione: di 3.2 mega pixel; • 30 fotogrammi per secondo; • autofocus, per regolare automaticamente la messa a fuoco, l’esposizione, il colore e il contrasto per una migliore qualità. • L’angolo di campo (field of view) è di 53°x37,5° Anche il display deve avere delle buone caratteristiche poiché visualizza le informazioni raccolte dalla videocamera; in questo caso il display è da 3,5’’ con una risoluzione di 480x320 pixel a 163ppi. Questi due dispositivi sono installati in pochi millimetri di distanza tra loro, quindi non si presenta il problema di sfasamento tra il punto di vista della videocamera e la posizione del display in cui vengono rappresentati visivamente i dati elaborati. La videocamera dovrà essere sincronizzata con la telecamera virtuale per avere una corrispondenza, è di fatto importante conoscere il l’angolo di campo, poiché dovrà essere lo stesso per le due telecamere. 4.2 Software e Interfacce (tool di sviluppo) 4.2.1 OpenGl Es OpenGL (Segal & Akeley, 2003) (sta per “Open Graphics Library”) è un interfaccia software per l’hardware grafico. L’interfaccia è un insieme di funzioni che permettono al programmatore di specificare oggetti e operazioni in modo da produrre contenuti grafici, come ad esempio oggetti tridimensionali. È composta da circa 150 comandi che permettono di interfacciarsi con l’hardware che gestisce l’accelerazione grafica del sistema, al fine di produrre applicazioni 3D interattive. E’ estremamente portabile, in quanto è utilizzabile su Mac OS, OS/2, UNIX, Windows, Linux, OPENStep, e BeOS. Inoltre le sue funzionalità e comandi possono essere richiamati attraverso linguaggi molto differenti fra loro, quali Ada, C, C++, Fortran, Python, Perl e Java. OpenGL ES è un API multi piattaforma, royalty-free con accesso completo a funzioni di grafica bidimensionale e tridimensionale sui sistemi embedded.E’ un sottoinsieme ben definito di funzioni dell’API OpenGL e rappresenta un interfaccia flessibile di basso livello tra il software e gli acceleratori grafici. 32
Sono presenti due versioni di Open GL ES attualmente in sviluppo: • La versione 1.X deriva dalla OpenGL 1.5 e si focalizza sull’accelerazione hardware delle API. Dispone di funzionalità avanzate; migliora la qualità delle immagini ed è ottimizzato per incrementare le prestazioni riducendo inoltre l’utilizzo della memoria per risparmiare energia. • La versione 2.X completa l’ampio sviluppo dello standard OpenGL ES 1.1 per le funzioni grafiche definendo il linguaggio OpenGL ES Shading che consente agli sviluppatori, di scrivere vertex e fragment shader. La differenza tra OpenGL e OpenGL ES non sta solo nel fatto che quest’ultima opera su sistemi embedded. Molte funzioni sono state rimosse; non sono più presenti i comandi GlBegin e GlEnd, sono presenti solo i principali supporti per i tipi primitivi come il punto, la linea e il triangolo. Sono state rimosse anche le funzioni GLU di alto livello. Queste scelte hanno portato ha semplificare e rendere più facile l’utilizzo di questa API. La tabella seguente evidenzia le differenze tra le API. OpenGL OpenGL ES 1.X glBegin/glEnd Si No, eccetto SC profile Tipi primitivi Tutti No quadrati e poligoni Tipi di dato Float,double,int, ecc.. Float, fixed glDraw/glReadPixels si glReadPixels Texture 1D,2D,3D,cubo 2D Stencil si Opzionale Tabella 1: Differenza tra OpenGL e OpenGL ES 1.X I sistemi embedded spesso non hanno unità a virgola mobile (floating point), quindi l’utilizzo di questa unità deve essere emulata. Per questo motivo OpenGL aggiunge un nuovo tipo di dato detto a decimale fisso (fixed point). Il formato definito per il decimale fisso è 15.16, cioè che utilizza 15 bit per i numeri prima della virgola e 16 bit per quelli dopo. Questo sistema può creare problemi con intervalli di piccoli numeri. OpenGL ES è utilizzato in diversi ambienti: • è stato scelto come ufficiale API grafica 3D in Symbian OS and Android; • è utilizzato come libreria 3D per iPhone SDK; • è supportato dalla Playstation 3 come ufficiale API grafica; • sarà la libreria 3D per la console Pandora. 33
Puoi anche leggere