Mitä erilaisia ​​OpenGL® -ohjaimia on?

OpenGL®, avoimen grafiikan kieli, on avoimen lähdekoodin standardi ja abstrakti ohjelmointirajapinta (API) kolmiulotteisen (3D) grafiikan ohjelmoimiseksi tietokoneohjelmissa. Jotta sovellusliittymä toimisi käännettäessä ja ajettaessa, ohjelman suorittavassa tietokoneessa on oltava oikeat OpenGL® -ohjaimet asennettuna. Ajureita on monenlaisia, mutta ne kaikki palvelevat ainoana tarkoituksenaan toimia rajapintana OpenGL® -sovellusliittymällä kirjoitetun koodin ja grafiikkaa tuottavan laitteiston välillä. OpenGL® -ohjaimia eivät kehitä tai julkaise ihmiset, jotka ylläpitävät OpenGL® -sovellusliittymää; ne sen sijaan julkaisevat tietokoneen sisällä olevien laitteiden valmistajat. Ainoa ero todellisuudessa eri tyyppisten OpenGL® -ohjainten välillä on sen laitteiston koodi, johon se on liitetty.

OpenGL®-standardista tuli lopulta yhtenäinen, yksinkertainen alusta ja lähinnä kielestä riippumaton 3D-perusgrafiikkatoimintojen toteutus, jota voitaisiin käyttää erittäin matalan tason tapana liittyä laitteistoon. Se eteni tähän suuntaan, koska yhä enemmän omistettuja 3D -sovellusliittymiä, joilla kullakin oli erilaiset suunnittelufilosofiat ja toimintojen allekirjoitukset. Ohjelmointirajapinta otettiin käyttöön ohjelmoijien ja laitteistovalmistajien keskuudessa, koska se oli avoimen lähdekoodin eikä vaadi lisenssin ostamista käytettäväksi samalla tavalla kuin jotkin muut käyttöjärjestelmät tai kielikohtaiset sovellusliittymät.

Perus OpenGL® -ohjaimet tuottavat näytönohjainten, laajennuskorttien ja näytönohjaimien valmistajat. Tämä tarkoittaa, että jokainen ohjain on kirjoitettu täsmällisten ja täsmällisten kohdelaitteistomääritysten mukaisesti ja että laitteisto voidaan valmistaa optimoimalla ohjain suorituskyvyn parantamiseksi. Sovellusliittymän laaja hyväksyntä ja sen mukana tulevat suhteellisen alhaiset yleiskustannukset ovat tehneet siitä arvokkaan valinnan korkean suorituskyvyn grafiikkasovelluksille ja puolestaan ​​ovat saaneet laitevalmistajat pyrkimään matalan tason optimointeihin, jotka täydentävät tätä suorituskykyä korteillaan. .

Laitteistovalmistajien ponnistelujen vuoksi OpenGL® -kehittäjät tarjosivat mekanismin, jonka avulla ohjaimet voivat toteuttaa räätälöityjä toimintoja, jotka voidaan koodata OpenGL® -ohjaimiin. Nämä eri laitteistojen erityispiirteet voitaisiin sisällyttää OpenGL® -sovellusliittymään. Tämä antaisi valmistajalle mahdollisuuden saada näytönohjain, joka tukee laitteistokiihdytettyjä toimintoja, kuten kangassimulointialgoritmeja, ja sallisi OpenGL®-sovellusliittymän soittaa ja käyttää tätä toimintoa. Nämä laajennukset tarjosivat mekanismin, jonka avulla OpenGL® -ohjaimet ja sovellusliittymä voisivat olla joustava, laajennettava mekanismi 3D -grafiikan ohjelmointiin.

Vuodesta 2011 lähtien OpenGL® -ohjaimet ovat yksilöllisiä jokaiselle standardia tukevalle laitteistolle. Yksittäistä, yhtenäistä ohjainta ei voi olla, koska jokainen laitteisto on selvästi erilainen ja käyttää joskus omistettuja tietoja. Tämä tarkoittaa sitä, että vaikka OpenGL® -ajureita on teknisesti monenlaisia ​​- yksi kullekin laitteistokortille – ne kaikki suorittavat täsmälleen saman tehtävän ohjelmoinnin näkökulmasta.