Kokie yra skirtingi OpenGL® bibliotekų tipai?

Yra keletas Open Graphics Library® (OpenGL®) bibliotekų tipų, kurias galima įdiegti ir naudoti kompiuterinėse sistemose, ir dauguma jų tenkina specifinius grafikos programuotojų poreikius. Pirmasis tipas apima pagrindines, pagrindines OpenGL® bibliotekas, kuriose yra maždaug 120 komandų, leidžiančių pasiekti grafinę aparatinę įrangą, nors šias OpenGL® bibliotekas galima dar skirstyti, atsižvelgiant į platformą, kurioje jos skirtos veikti. Buvo sukurta daug paslaugų bibliotekų – kai kurias iš jų beveik visada naudoja OpenGL® programuotojai – siekiant padėti sugrupuoti labai žemo lygio funkcijas į atskirus aukštesnio lygio iškvietimus, kad būtų patogu ir kodas aiškesnis. Kartais yra OpenGL® bibliotekų, kurias sukuria konkretūs grafikos aparatūros gamintojai, kad padėtų padidinti našumą arba palaikyti specialiuosius efektus, kuriuos aparatinė įranga atlieka savaime. Taip pat yra labai aukšto lygio vartotojų sukurtų bibliotekų, kurios atsirado dėl didesnių projektų ir yra platinamos siekiant padėti sparčiai kurti programas.

Pagrindinės OpenGL® bibliotekos yra būtinos kuriant ir diegiant programas, kurios naudoja OpenGL® grafikai pateikti. Jie leidžia programoms naudoti bendrą abstrakčią programavimo sąsają (API), kad iškviestų OpenGL® bibliotekos funkcijas, o po to biblioteka tiesiogiai sąveikaus su aparatinės įrangos tvarkyklėmis. Tada tvarkyklės tiesiogiai pasiekia aparatinę įrangą, todėl padidėja rodymo greitis. Visos kitos OpenGL® bibliotekos yra pagrįstos pagrindinėmis bibliotekomis.

Daugelis pagrindinių bibliotekų naudojamų komandų yra gana žemo lygio, todėl buvo sukurta nemažai naudingų bibliotekų, dar vadinamų įrankių rinkiniais. Jie sujungia pagrindines komandas į funkcionalesnes procedūras, dėl kurių naudojant OpenGL® nereikia kartotis. Vienas iš paslaugų bibliotekos naudojimo pavyzdžių yra apskritimo nubrėžimas, kuris gali užimti kelias kodo eilutes tik naudojant pagrindinį OpenGL®, bet gali būti sujungtas į vieną optimizuotą veiksmų bibliotekoje, pvz., OpenGL® Utility Toolkit (GLUT). Kartais kai kurios bibliotekos turi tą patį pavadinimą, bet yra perkeltos naudoti skirtingose ​​operacinėse sistemose arba skirtingose ​​kalbose, be to, jose gali būti skirtingų funkcijų.

Kai kurias OpenGL® bibliotekas iš tikrųjų gamina aparatūros gamintojai. Išplėstines bibliotekas galima pasiekti naudojant OpenGL® plėtinių mechanizmą arba tiesiogiai su gamintojų teikiamomis API. Tokio tipo bibliotekos ne visada plačiai naudojamos dėl siaurų tikslinių platformų ir dėl to, kad labai populiarūs plėtiniai dažnai sujungiami į pagrindines bibliotekas.

Taip pat yra OpenGL® bibliotekų, kurias kuria programuotojai ir vartotojai, nesusiję su pagrindinėmis bibliotekomis ar jokia aparatine įranga. Šios bibliotekos dažnai išleidžiamos, todėl kitiems programuotojams, kuriantiems tam tikro tipo mokslines, matematines ar pramogines programas, gali būti naudinga turėti sistemą, kuria remtis. Taip pat yra bendruomenės sukurtų bibliotekų, kurios praktiškai suteikia kitoms bibliotekoms interaktyvumo ir programos logikos.