Kokie yra skirtingi OpenGL® tvarkyklių tipai?

OpenGL®, atviroji grafikos kalba, yra atvirojo kodo standartinė ir abstrakčiojo programavimo sąsaja (API), skirta trimatei (3D) grafikai programuoti kompiuterių programose. Kad API veiktų kompiliuojant ir paleidžiant, programą vykdančiame kompiuteryje turi būti įdiegtos tinkamos OpenGL® tvarkyklės. Yra daugybė tvarkyklių tipų, tačiau jos visos tarnauja kaip išskirtinis tikslas – veikti kaip sąsaja tarp kodo, parašyto naudojant OpenGL® API, ir aparatinės įrangos, kuri pateikia grafiką. OpenGL® tvarkyklės nėra kuriamos ir išleidžiamos žmonių, kurie prižiūri OpenGL® API; Vietoj to juos išleidžia kompiuterio viduje esančios aparatinės įrangos gamintojai. Vienintelis skirtumas tarp skirtingų tipų OpenGL® tvarkyklių yra aparatinės įrangos, su kuria ji siejasi, kodas.

OpenGL® standartas ilgainiui tapo vieninga, paprasta platforma ir dažniausiai nuo kalbos nepriklausomu pagrindinių 3D grafikos funkcijų įgyvendinimu, kuris gali būti naudojamas kaip labai žemo lygio sąsajos su technine įranga būdas. Šia kryptimi ji pažengė į priekį, nes daugėjo patentuotų 3D API, kurių kiekviena turėjo skirtingą dizaino filosofiją ir funkcijų parašus. API priėmė ir programuotojai, ir aparatinės įrangos gamintojai, nes ji buvo atvirojo kodo ir nereikėjo įsigyti licencijos naudoti, kaip tai darė kai kurios kitos operacinės sistemos ar konkrečios kalbos API.

Pagrindines OpenGL® tvarkykles gamina vaizdo plokščių, išplėtimo plokščių ir grafikos greitintuvų gamintojai. Tai reiškia, kad kiekviena tvarkyklė yra parašyta pagal tikslias ir tikslias tikslinės aparatinės įrangos specifikacijas ir kad aparatinė įranga gali būti gaminama optimizuojant tvarkykles, siekiant padidinti našumą. Dėl plačiai paplitusio API pripažinimo ir su ja susijusių santykinai mažų pridėtinių išlaidų ji tapo vertingu didelio našumo grafikos programų pasirinkimu ir, savo ruožtu, paskatino aparatūros gamintojus siekti žemo lygio optimizavimo, kuris papildytų šį našumą savo kortelėmis. .

Atsižvelgdami į aparatūros gamintojų pastangas, OpenGL® kūrėjai pateikė mechanizmą, kuris leistų tvarkyklėms įgyvendinti pritaikytas operacijas, kurias būtų galima užkoduoti į OpenGL® tvarkykles. Šios specialios skirtingų aparatinės įrangos dalių funkcijos gali būti įtrauktos į OpenGL® API. Tai leistų gamintojui turėti grafikos plokštę, kuri palaiko aparatinės įrangos pagreitintas funkcijas, pvz., audinių modeliavimo algoritmus, ir leisti OpenGL® API iškviesti ir susieti su šia funkcija. Šie plėtiniai suteikė mechanizmą, per kurį OpenGL® tvarkyklės ir API galėtų tapti sklandžiu, išplečiamu 3D grafikos programavimo mechanizmu.

Nuo 2011 m. OpenGL® tvarkyklės yra individualios kiekvienai standartą palaikančiai techninei įrangai. Vienos, vieningos tvarkyklės negali būti, nes kiekviena aparatinė įranga yra labai skirtinga ir kartais naudoja patentuotą informaciją. Tai reiškia, kad nors techniškai yra daug OpenGL® tvarkyklių tipų – po vieną kiekvienai aparatūros kortelei – programavimo požiūriu jos visos atlieka tą pačią funkciją.