Koje su različite vrste OpenGL® upravljačkih programa?

OpenGL®, otvoreni grafički jezik, je standard otvorenog koda i apstraktno programsko sučelje (API) za programiranje trodimenzionalne (3D) grafike u računalnim programima. Da bi API radio kada se kompajlira i izvodi, računalo koje izvodi program mora imati instalirane ispravne OpenGL® upravljačke programe. Postoje mnoge vrste drajvera, ali svi služe jedinstvenoj svrsi djelovanja kao sučelje između koda koji je napisan korištenjem OpenGL® API-ja i hardvera koji renderira grafiku. OpenGL® upravljačke programe nisu razvili niti objavili ljudi koji održavaju OpenGL® API; umjesto toga izdaju ih proizvođači hardvera unutar računala. Jedina razlika, u stvarnosti, između različitih tipova OpenGL® upravljačkih programa je kod za hardver s kojim se povezuje.

Standard za OpenGL® na kraju je postao jedinstvena, jednostavna platforma i uglavnom jezično neovisna implementacija osnovnih 3D grafičkih funkcija koje bi se mogle koristiti kao vrlo niskorazinski način sučelja s hardverom. Napredovao je u tom smjeru zbog sve veće količine vlasničkih 3D API-ja od kojih je svaki imao različitu filozofiju dizajna i potpise funkcija. API su usvojili i programeri i proizvođači hardvera, jer je bio otvorenog koda i nije zahtijevao kupnju licence za korištenje kao što su to činili neki drugi operativni sustavi ili API-ji specifični za jezik.

Osnovne OpenGL® upravljačke programe proizvode proizvođači grafičkih kartica, kartica za proširenje i grafičkih akceleratora. To znači da je svaki upravljački program napisan u skladu s točnim i točnim specifikacijama za ciljni hardver i da se hardver može proizvoditi s optimizacijama usmjerenim na upravljački program radi povećanja performansi. Široko rasprostranjeno prihvaćanje API-ja i relativno niski troškovi koji dolaze s njim učinili su ga vrijednim izborom za grafičke aplikacije visokih performansi i, zauzvrat, naveli su proizvođače hardvera da teže optimizacijama niske razine kako bi nadopunili tu izvedbu svojim karticama. .

Kao odgovor na napore proizvođača hardvera, programeri OpenGL® su osigurali mehanizam koji bi omogućio drajverima implementaciju prilagođenih operacija koje bi se mogle kodirati u OpenGL® upravljačke programe. Ove posebne značajke različitih hardverskih dijelova mogle bi biti uključene u OpenGL® API. To bi proizvođaču omogućilo da ima grafičku karticu koja podržava hardverski ubrzane funkcije, kao što su algoritmi za simulaciju tkanine, i omogućilo bi OpenGL® API-ju da pozove tu funkcionalnost i da se poveže s njom. Ova proširenja dala su mehanizam putem kojeg su OpenGL® upravljački programi i API mogli postati fluidni, proširivi mehanizam za 3D grafičko programiranje.

Od 2011. OpenGL® upravljački programi su individualni za svaki komad hardvera koji podržava standard. Ne može postojati jedan jedinstveni upravljački program jer je svaki komad hardvera izrazito različit i ponekad koristi vlasničke informacije. To znači da, iako tehnički postoji mnogo vrsta OpenGL® drajvera – po jedan za svaku hardversku karticu – svi oni obavljaju potpuno istu funkciju iz perspektive programiranja.