Kokie yra skirtingi OpenGL® plėtinių tipai?

Yra daug skirtingų OpenGL® plėtinių, dažniausiai naudojamų padėti valdyti ir palaikyti tvarkingą OpenGL® bibliotekų struktūrą. Yra keturi pagrindiniai OpenGL® plėtinių tipai: tiekėjo, patvirtintas, bendrasis ir pagrindinis. Patvirtinti, bendrieji ir pagrindiniai plėtiniai reiškia funkcijas ir bibliotekas, kurios tam tikru būdu juda link įtraukimo į bendrą OpenGL® kūrimo rinkinio platinimą. Pardavėjo plėtiniai yra pagal užsakymą sukurtos funkcijos, taikomos konkrečioms aparatinės ar programinės įrangos aplinkoms. Yra keletas kitų tipų, nors jie labiau skirti daugelio esamų plėtinių subklasifikavimui.

Viena iš priežasčių, kodėl yra įvairių OpenGL® plėtinių tipų, yra tai, kad plačiai naudojamos pagrindinės bibliotekos ir galimai klaidinantis patentuoto kodo kiekis, sukuriamas norint jį išplėsti. „OpenGL® Architecture Review Board“ (ARB) padeda išlaikyti ir vykdyti OpenGL® standartą bei valdyti plėtinius. Daugelis plėtinių prasideda kaip tiekėjo plėtiniai arba visur esantys plėtiniai ir laikui bėgant juos gali naudoti keli tiekėjai, todėl jie gali gauti bendro plėtinio pavadinimą. Tada ARB gali peržiūrėti bendruosius plėtinius ir tapti ARB patvirtintais plėtiniais, kurie greičiausiai prisijungs prie pagrindinių plėtinių.

Tiekėjo OpenGL® plėtiniai yra grafinės įrangos ar operacinių sistemų gamintojų įdiegtos funkcijos. Šie plėtinių tipai leidžia gamintojui patobulinti arba įdiegti naujas grafikos našumo funkcijas ir padaryti tuos patobulinimus prieinamus OpenGL® programoms. Visi tiekėjo plėtiniai prasideda ARB priskirtu kodu, kuris nurodo gamintojo pavadinimą, nurodantį aplinką, kurioje funkcija gali būti pasiekiama.

Bendrieji OpenGL® plėtiniai yra funkcijos, kurias naudojo ir įdiegė keli gamintojai ir kurių nebereikia žymėti specialiais tiekėjo prefiksų kodais. Norint išlaikyti atitiktį OpenGL® standartui, reikia įdiegti ne visus bendruosius plėtinius. Bendrasis plėtinys naudoja priešdėlį GL_EXT prieš funkcijos arba konstantos pavadinimą.

Patvirtinti OpenGL® plėtiniai yra tie, kuriuos priėmė daugiau nei vienas gamintojas ir kuriuos peržiūrėjo ARB, todėl jie gali tapti įprastos OpenGL® bibliotekos dalimi. Šio tipo funkcijas paprastai įgyvendina visi gamintojai, neatsižvelgiant į tai, kuris tiekėjas iš tikrųjų išrado plėtinį ir ar kiti pardavėjai turi aparatinę įrangą, galinčią palaikyti prašomas funkcijas. Šio tipo plėtinys turi priešdėlį GL_ARB.

Pagrindiniai OpenGL® plėtiniai yra funkcijos, kurios gali atnaujinti senesnių programų našumą, leidžiant iškviesti ankstesnes OpenGL® funkcijos versijas, kad būtų vykdomas naujausias kodas. Kai išleidžiamos naujos OpenGL® versijos, nauji pagrindiniai plėtiniai gali būti sklandžiai iškviesti iš senesnės programos, nekeičiant jokio šaltinio kodo. Nepaisant patogumo gerinant atgalinį suderinamumą, pagrindiniai OpenGL® plėtiniai laikui bėgant vis tiek gali nuvertėti.