OpenGL®, odprti grafični jezik, je odprtokodni standard in abstraktni programski vmesnik (API) za programiranje tridimenzionalne (3D) grafike v računalniških programih. Da bi API deloval, ko je preveden in zagnan, mora imeti računalnik, ki izvaja program, nameščene pravilne gonilnike OpenGL®. Obstaja veliko vrst gonilnikov, vendar vsi služijo edinemu namenu, da delujejo kot vmesnik med kodo, ki je napisana z API-jem OpenGL®, in strojno opremo, ki upodablja grafiko. Gonilnikov OpenGL® niso razvili ali izdali ljudje, ki vzdržujejo OpenGL® API; namesto tega jih izdajo proizvajalci strojne opreme v računalniku. Edina razlika v resnici med različnimi vrstami gonilnikov OpenGL® je koda za strojno opremo, s katero se povezuje.
Standard za OpenGL® je sčasoma postal poenotena, preprosta platforma in večinoma od jezika neodvisna izvedba osnovnih 3D grafičnih funkcij, ki bi jih lahko uporabili kot zelo nizko raven vmesnika s strojno opremo. V tej smeri je napredoval zaradi naraščajoče količine lastniških 3D API-jev, od katerih je imel vsak drugačno oblikovno filozofijo in funkcijske podpise. API so sprejeli tako programerji kot proizvajalci strojne opreme, ker je bil odprtokoden in ni zahteval nakupa licence za uporabo kot nekateri drugi operacijski sistemi ali API-ji, specifični za jezik.
Osnovne gonilnike OpenGL® proizvajajo proizvajalci grafičnih kartic, razširitvenih kartic in grafičnih pospeševalnikov. To pomeni, da je vsak gonilnik napisan v skladu z natančnimi in natančnimi specifikacijami za ciljno strojno opremo in da je strojno opremo mogoče izdelati z optimizacijami, usmerjenimi proti gonilniku, da se poveča zmogljivost. Široko sprejetje API-ja in sorazmerno nizki stroški, ki so povezani z njim, so ga naredili dragoceno izbiro za visoko zmogljive grafične aplikacije in so posledično spodbudili proizvajalce strojne opreme, da si prizadevajo za optimizacije na nizki ravni, da bi to zmogljivost dopolnjevali s svojimi karticami. .
Kot odgovor na prizadevanja proizvajalcev strojne opreme so razvijalci OpenGL® zagotovili mehanizem, ki bi gonilnikom omogočil izvajanje prilagojenih operacij, ki bi jih bilo mogoče kodirati v gonilnike OpenGL®. Te posebne značilnosti različnih kosov strojne opreme bi lahko vključili v API OpenGL®. To bi proizvajalcu omogočilo, da ima grafično kartico, ki podpira strojno pospešene funkcije, kot so algoritmi za simulacijo tkanine, in omogoči API OpenGL®, da kliče in povezuje to funkcionalnost. Te razširitve so zagotovile mehanizem, s katerim bi gonilniki OpenGL® in API lahko postali tekoč, razširljiv mehanizem za 3D-grafično programiranje.
Od leta 2011 so gonilniki OpenGL® individualni za vsak kos strojne opreme, ki podpira standard. Ne more biti enotnega, enotnega gonilnika, ker je vsak kos strojne opreme izrazito drugačen in včasih uporablja lastniške informacije. To pomeni, da čeprav obstaja tehnično veliko vrst gonilnikov OpenGL® – po en za vsako kartico strojne opreme –, vsi z vidika programiranja izvajajo popolnoma isto funkcijo.