Millised on OpenGL®-i laienduste erinevad tüübid?

On mitmeid erinevaid OpenGL®-i laiendusi, mida kasutatakse enamasti OpenGL®-i teekide järjestatud struktuuri haldamiseks ja säilitamiseks. OpenGL®-i laiendusi on neli peamist tüüpi: tarnija, heakskiidetud, üldised ja põhilaiendid. Heakskiidetud, üldised ja põhilaiendid tähistavad kõiki funktsioone ja teeke, mis mingil moel liiguvad OpenGL® arenduskomplekti üldisesse levitamisse kaasamise suunas. Tarnija laiendused on eritellimusel valmistatud funktsioonid, mis kehtivad kindlates riist- või tarkvarakeskkondades. On veel mõned tüübid, kuigi need on mõeldud paljude olemasolevate laiendite alamklassifikatsiooniks.

Üks põhjusi, miks OpenGL®-i laiendusi on erinevat tüüpi, on põhiteekide laialdane kasutamine ja selle laiendamiseks loodava potentsiaalselt segadusse ajav hulk patenteeritud koodi. OpenGL® Architecture Review Board (ARB) aitab säilitada ja jõustada OpenGL® standardit ning hallata laiendusi. Paljud laiendused saavad alguse kas teenusepakkuja laienditest või üldlevinud laiendustest ja aja jooksul saavad neid kasutada mitu müüjat, mis teenivad üldise laienduse tiitli. Seejärel saab ARB üldised laiendused üle vaadata ja neist saavad ARB heakskiidetud laiendused, mis tõenäoliselt ühinevad põhilaiendustega.

Tarnija OpenGL® laiendused on funktsioonid, mida rakendavad graafika riistvara või operatsioonisüsteemide tootjad. Seda tüüpi laiendused võimaldavad tootjal oma graafika jõudlust parandada või uusi funktsioone kasutusele võtta ja seejärel need täiustused OpenGL®-i programmidele kättesaadavaks teha. Kõik tarnija laiendused algavad ARB-ga määratud koodiga, mis tähistab tootja nime, mis näitab keskkonda, kus funktsioon võiks olla saadaval.

Üldised OpenGL®-i laiendused on funktsioonid, mida on kasutanud ja rakendanud mitmed tootjad ning mida ei pea enam tähistama spetsiaalsete tarnija eesliite koodidega. OpenGL®-i standardile vastavuse säilitamiseks ei pea rakendama kõiki üldlaiendeid. Üldlaiend kasutab funktsiooni või konstandi nime ees eesliidet GL_EXT.

Heakskiidetud OpenGL® laiendused on need, mille on kasutusele võtnud rohkem kui üks tootja ja mille ARB on üle vaadanud, võimaldades neil saada osaks tavalisest OpenGL® teegist. Seda tüüpi funktsioone rakendavad tavaliselt kõik tootjad, olenemata sellest, milline müüja laienduse tegelikult leiutas, ja olenemata sellest, kas teistel tarnijatel on riistvara, mis toetab nõutud funktsioone. Seda tüüpi laiendus kannab eesliidet GL_ARB.

Põhilised OpenGL®-i laiendused on funktsioonid, mis on võimelised täiustama vanemate programmide jõudlust, lubades funktsiooni OpenGL®-i eelmistele versioonidele helistada, et käivitada uusim kood. Uute OpenGL®-i versioonide avaldamisel saab uusi põhilaiendeid vanemast programmist sujuvalt välja kutsuda, ilma et oleks vaja lähtekoodi muuta. Vaatamata tagasiühilduvuse parandamise mugavusele võivad põhilised OpenGL®-i laiendused aja jooksul siiski amortiseerida.