Mitä erilaisia ​​OpenGL® -kirjastoja on?

On olemassa useita Open Graphics Library® (OpenGL®) -kirjastoja, jotka voidaan asentaa ja käyttää tietokonejärjestelmissä, ja useimmat niistä palvelevat graafisten ohjelmoijien erityistarpeita. Ensimmäinen tyyppi sisältää OpenGL® -peruskirjastot, jotka sisältävät noin 120 komentoa grafiikkalaitteiston käytön sallimiseksi, vaikka nämä OpenGL® -kirjastot voidaan jakaa edelleen sen mukaan, millä alustalla ne on tarkoitettu toimimaan. Monet apukirjastot on luotu-joista osa on lähes aina OpenGL®-ohjelmoijien käytössä-auttamaan ryhmittelemään erittäin matalan tason toiminnot yksittäisiksi korkeamman tason puheluiksi mukavuuden ja koodin selkeyden vuoksi. Ajoittain on olemassa tiettyjä grafiikkalaitteistojen valmistajia kehittämiä OpenGL® -kirjastoja, jotka parantavat suorituskykyä tai tukevat laitteiston alkuperäisiä suorittamia erikoistehosteita. On myös erittäin korkean tason käyttäjien luomia kirjastoja, jotka ovat syntyneet suuremmista projekteista ja joita on jaettu auttamaan nopeaa sovellusten kehittämistä.

Core OpenGL® -kirjastot ovat välttämättömiä sellaisten ohjelmien kehittämiselle ja käyttöönotolle, jotka käyttävät OpenGL®: ää grafiikan renderointiin. Niiden avulla ohjelmat voivat käyttää yhteistä abstraktia ohjelmointirajapintaa (API) kutsuakseen OpenGL® -kirjaston toimintoja, minkä jälkeen kirjasto on vuorovaikutuksessa suoraan laiteajureiden kanssa. Ajurit käyttävät sitten laitteistoa suoraan, mikä lisää näytön nopeutta. Kaikki muut OpenGL® -kirjastot perustuvat ydinkirjastoihin.

Monet ydinkirjastojen käyttämät komennot ovat melko alhaisia, joten on luotu useita apukirjastoja, joita kutsutaan myös työkalupakkeiksi. Nämä niputtavat peruskomennot toimivammiksi rutiineiksi, jotka vievät suuren osan toistosta pois OpenGL®: n käytöstä. Yksi esimerkki apuohjelmakirjaston käytöstä on ympyrän piirtäminen, joka voi viedä useita koodirivejä vain OpenGL® -ytimellä, mutta joka voidaan tiivistää yhdeksi optimoiduksi rutiiniksi apuohjelmakirjastossa, kuten OpenGL® Utility Toolkit (GLUT). Joskus joillakin kirjastoilla on sama nimi, mutta ne on siirretty käytettäväksi eri käyttöjärjestelmissä tai eri kieliversioissa, ja ne voivat sisältää erilaisia ​​toimintoja.

Jotkut OpenGL® -kirjastot ovat itse asiassa laitteistovalmistajien tuottamia. Laajennettuja kirjastoja voi käyttää OpenGL® -laajennusmekanismin kautta tai suoraan valmistajien toimittamien sovellusliittymien avulla. Tämäntyyppiset kirjastot eivät aina näe laajaa käyttöä kapeiden kohdealustojensa vuoksi ja koska erittäin suosittuja laajennuksia taitetaan usein ydinkirjastoihin.

On myös ohjelmoijien ja käyttäjien luomia OpenGL® -kirjastoja, jotka eivät liity ydinkirjastoihin tai laitteistoihin. Nämä kirjastot julkaistaan ​​usein, joten muut ohjelmoijat, jotka luovat tietyntyyppisiä tieteellisiä, matemaattisia tai viihdesovelluksia, voivat hyötyä siitä, että niillä on kehys, jolle rakentaa. On myös yhteisöperäisiä kirjastoja, jotka lisäävät vuorovaikutteisuutta ja ohjelmalogiikkaa muihin kirjastoihin käytännöllisellä tavalla.