Buongiorno gente. È passato un po dal mio ultimo articolo. Questi ultimi mesi mi sono messo a studiare una nuova libreria che si chiama Opengl. Facendo ricerche sul web mi sono reso conto che c’è pochissimo materiale in italiano su questo argomento. Ma non solo in italiano, anche in altre lingue e veramente difficile trovare una guida che ti spiega i primi passi da fare con questa libreria. Quindi ho deciso di scrivere questo articolo per aiutare chi vuole iniziare a programmare, a creare le proprie Game Engine in Opengl e senza fermarsi qui magari.
Ma che cos’è Opengl ?
Opengl che è Open Graphic Library è una libreria che si occupa della grafica 2D e 3D. Letteralmente da Wikipedia ” è una specifica che definisce una API per più linguaggi e per più piattaforme per scrivere applicazioni che producono computer grafica 2D e 3D “. Opengl e stata sviluppata nel 1992 dalla Silicon Graphics ed usato nel industria dei videogiochi nella quale compete con DirectX della Microsoft. È lo standard di fatto per la computer grafica 3D in ambiente Unix. Per sapere di più su Opengl e la sua storia potete visitare la sua pagina su wikipedia.
In poche parole il monitor del vostro Mac, iPhone, iPod, (e non solo questi) la grafica in qui è costruita è basata su Opengl. Anche i giochi 2D o 3D per PC, Mac, Ubuntu, prodotti Apple sono costruiti con questa libreria, pero non direttamente. Ci sono tanti Game Engine costruite su questa librerie per render più facile lo sviluppo delle app.
Invece Opengl ES ?
Opengl ES (embedded system) si usa per dispositivi integrati come smartphone, cellulari, tablet ecc. Ci sono tre versioni più usati: Opengl ES 1.1, Opengl ES 2.0, Opengl ES 3.0. Le versioni da 2 e poi sono le più usate perché hai la capacita di programmare i pixel separatamente, invece la versione 1.1 è più “fixed” e limitato.
Io personalmente sto usando solo la versione 2.0 che e supportato anche da tutti i dispositivi Apple. Invece la versione 3.0 e supportato solo dagli ultimi dispositivi: iPhone 5s, iPad Air ecc. Quindi consiglio di usare questa versione per il momento.
Prima di iniziare a programmare con questa libreria voglio che sappiate che non è facile capire le basi, ci vuole tanta teoria per capire le funzioni di Opengl e implementarli e sopratutto pazienza. Tenete presente che non si tratta solo di codice ma anche di calcoli matematici (matrice, quaternioni, camera, modelli3d, coordinate virtuali ecc), si tratta anche di calcoli di ombra e luce tra un modello 3D e il suo mondo virtuale. Insomma è un altro mondo, solo che è virtuale…
Spero che questa semplice introduzione di Opengl vi sia d’aiuto. Nei prossimi articoli parlerò di altri argomenti che ci aiuterà ad entrare in questo mondo.