La libreria di sviluppo mobile OpenGL®, più comunemente nota come OpenGL® for Embedded Systems (OpenGL® ES o GLES), è una raccolta di funzioni basate sulla distribuzione standard OpenGL® che è stata ridotta sia nelle dimensioni che nelle funzionalità intrinseche per consentire alla libreria da utilizzare su un’ampia gamma di dispositivi mobili e sistemi embedded. Un’applicazione che utilizza la libreria mobile OpenGL® può rendere efficacemente la grafica tridimensionale (3D) con qualsiasi hardware proprietario sia stato utilizzato nel dispositivo, solitamente tramite uno speciale driver intermedio o livello software. Esistono diverse versioni della libreria mobile OpenGL® per adattarsi ai vari tipi di hardware embedded che possono essere utilizzati, dai sistemi fissi ai sistemi programmabili. Proprio come la forma standard di OpenGL®, la versione mobile fornisce estensioni per funzioni hardware personalizzate sviluppate dai produttori.
La sfida più grande che qualsiasi implementazione mobile di OpenGL® deve affrontare sono i limiti insolitamente piccoli dei sistemi embedded e dei dispositivi mobili. Ciò significa che le librerie solitamente utilizzate per sistemi desktop o laptop, che dovevano essere impiegate in un sistema operativo completo con risorse almeno moderate, devono essere modificate per occupare meno spazio e far fronte alla potenziale indisponibilità di risorse durante l’esecuzione di un programma . Queste risorse possono essere memoria, potenza di elaborazione o persino accesso a un contesto di visualizzazione, ma possono anche includere elementi molto più complessi, come file system o porte di input e output che potrebbero non essere presenti sul dispositivo.
Un’implementazione della libreria mobile OpenGL® deve anche affrontare il problema dell’hardware individuale, a volte unico, nei dispositivi. Anche se la libreria è in gran parte astratta dall’effettiva interfaccia di basso livello tra l’hardware e il software, alcune funzioni OpenGL® potrebbero non adattarsi perfettamente al paradigma operativo del display o dell’hardware grafico. Per evitare questo problema, l’organizzazione che sviluppa OpenGL® ha creato uno standard che le interfacce proprietarie possono utilizzare per garantire che i programmatori possano utilizzare il codice comune nelle applicazioni mobili e ricevere risultati prevedibili. I produttori hanno la possibilità di non utilizzare gli standard sviluppati, in cui possono aver bisogno di creare driver ed estensioni OpenGL® personalizzati per l’hardware.
Su sistemi avanzati, come console o dispositivi tablet, la libreria mobile leggera OpenGL® può essere utilizzata per creare grafica 3D della stessa qualità e velocità di quella di un sistema desktop. Ciò è dovuto al supporto integrato per funzionalità come gli shader e all’hardware grafico avanzato che può accelerare il rendering senza la necessità di passare attraverso diversi componenti hardware intermedi, come potrebbe essere il caso di un computer che non utilizza una scheda grafica integrata . Le librerie mobili OpenGL® sono diventate uno degli strumenti di programmazione grafica standard utilizzati in dispositivi che vanno dai piccoli sistemi di gioco per console agli assistenti digitali portatili.