Open Graphics Library® (OpenGL®) on ensisijaisesti ohjelmointirajapinta, jonka avulla ohjelmistosovellukset voivat olla vuorovaikutuksessa grafiikkalaitteiston kanssa ja luoda kolmiulotteisia (3D) kohtauksia nopeasti ja tehokkaasti. Kaksiulotteisia (2D) OpenGL®-ohjelmointitekniikoita käyttämällä kirjaston tarjoama laitteistokiihdytys voi parantaa suorituskykyä ja joskus myös ohjelmoinnin helppoutta, joka ei välttämättä käytä 3D-malleja tai muunnoksia. Yleisin tapa käyttää 2D OpenGL® -tekniikkaa on piirtää nelikulmioita tai suorakulmioita, jotka on kuvioitu kuvan kanssa, luoden tehokkaasti objektin 3D -tilaan kuvasta. Kun nämä nelikulmiot on luotu, niitä voidaan manipuloida joko tiukoilla 2D -menetelmillä tai muuntamalla 3D -matriiseilla erikoistehosteita varten, joita muuten olisi vaikea tehdä vain 2D -rasterigrafiikalla. 3D-kirjaston käyttö aiheuttaa joitain komplikaatioita, kun sitä käytetään vain 2D-grafiikassa, mukaan lukien hyper-tarkkuus, joka voi tehdä siitä monimutkaisen yksittäisten pikselien eristämisen, sekä vaativat jonkin verran 3D-laitteistotukea ohjelmalle, joka ei välttämättä todella vaadi se.
Monet laitteisto- ja ohjelmistokehittäjät tarjoavat ohjaimia ja mukautettuja abstrakteja ohjelmointirajapintoja (API), jotka tekevät heidän tuotteistaan täysin yhteensopivia OpenGL® -kirjaston kanssa. Tämä avoimen standardin laaja hyväksyntä antaa ohjelmoijille mahdollisuuden päästä suoraan laitteistoon monenlaisissa järjestelmissä. Laitteistokiihdytys, joka tarjotaan käytettäessä 2D OpenGL® -ohjelmaa, voi antaa ohjelman toimia sujuvammin kuin muuten olisi mahdollista. Tätä nopeutta tasapainottaa se tosiasia, että OpenGL® -putkilinjan käyttö grafiikkaan voi olla hyvin erilaista kuin perinteisten 2D -ohjelmointimenetelmien käyttö, joissa ei yleensä käytetä tilakonemallia, kuten OpenGL®.
Useimmat 2D OpenGL® -ohjelmat käyttävät grafiikan kuvaamiseen litteitä suorakulmioita, jotka on tehty samoissa mittasuhteissa kuin tekstuurikuva. Tämän etuna on erittäin nopea renderöinti ja ohjelmoinnin yksinkertaistaminen, joten se käyttää jotakin samaa logiikkaa kuin rasteripohjainen puskuroitu grafiikka. Jotkut tehosteet, kuten kuvan skaalaus, kuvan kääntäminen tai kuvan kääntäminen, voidaan todella suorittaa paljon tehokkaammin OpenGL® -tekniikalla.
2D OpenGL® -ohjelmat voivat olla monimutkaisempia kuin muut 2D -ohjelmat normaalisti. Yksi näistä tekijöistä on näytön pikselien tarkkuus. OpenGL® ei yhdistä virtuaalikoordinaattijärjestelmän osaa näytön pikseliin, kuten rasterigrafiikka, joten liukulukuarvoja on joskus käytettävä näytön koordinaateissa näytön aukkojen tai outojen pikselien sijoittelun estämiseksi.
Toinen ongelma on, että OpenGL® vaatii näytönohjaimen käytön renderointinopeuden lisäämiseksi. Jos sovellus käyttää OpenGL®: ää käyttöliittymän tai järjestelmäikkunan näyttämiseen, laitteet, joissa ei ole grafiikan kiihdytystä, voivat kärsiä grafiikan suorituskyvystä, joka saattaa vaikuttaa loppukäyttäjälle hyvin yksinkertaiselta. OpenGL ei myöskään tarjoa mitään natiivitukea tekstin näyttämiseen, mikä tarkoittaa, että suurten tekstialueiden näyttäminen saattaa vaatia kohtuullisen määrän mukautettua koodia.