Pamācības

▷ Opengl: kas tas ir un kam tas paredzēts

Satura rādītājs:

Anonim

Vai esat kādreiz dzirdējuši par OpenGL ? Tas ātri kļuva par nozares vadošo reālā laika grafikas API, jo tas principā bija vienīgais, kas pieejams vairākās platformās. Šodien mēs jums parādīsim šo rakstu, kurā mēs izskaidrosim, kas ir OpenGL un kam tas paredzēts.

Satura rādītājs

Vēsture

80. gados programmatūras izstrāde, kas bija savietojama ar plašu aparatūras klāstu, kas saistīts ar grafisko pasauli, bija īsts izaicinājums izstrādātājiem. Jums nācās saskarties ar ļoti atšķirīgām saskarnēm un rakstīt specifiskus draiverus katram aparatūras tipam, un tas bija ļoti dārgi, tāpēc programmētāju komandas tika uzticētas ārpakalpojumiem, lai paātrinātu attīstību. Tā kā katra komanda savās saskarnēs strādāja atsevišķi, tika izveidots daudz liekā koda. 1992. gadā SGI vadīja OpenGL Arhitektūras pārskata padomes (OpenGL ARB) izveidi, kas ir uzņēmumu grupa, kas turpmākajos gados uzturēs un paplašinās specifikāciju. OpenGL attīstījās no IRIS GL, pārvarot savas aparatūras atkarības problēmu, piedāvājot programmatūras emulāciju šīm neatbalstītajām funkcijām. Tādējādi lietojumprogrammas varēja izmantot modernu grafiku relatīvi vājās sistēmās.

Lai saprastu, kas ir OpenGL, mums vispirms jāzina, kas ir API.

Kā izprast OpenGL, kas ir API?

API vai lietojumprogrammu programmēšanas saskarne ir kodu kopums, ko var izmantot dažādām lietojumprogrammām, lai sazinātos savā starpā. Tas ir kaut kas tāds, kas veic lietotāja saskarnei līdzīgu uzdevumu, veicinot tikai personas un programmas mijiedarbību, to piemēro tikai un vienīgi programmatūras vidē. To izmanto kodu vai funkciju savienošanai starp dažādām platformām, lai jūs varētu izmantot vienas vietnes pakalpojumus citā.

Kas ir OpenGL?

Tas galvenokārt tiek uzskatīts par API, kas nodrošina mūs ar lielu funkciju kopumu, ko mēs varam izmantot, lai manipulētu ar 3D un 2D grafiku un attēliem. Tomēr pats par sevi tas nav vienkārši API, bet gan specifikācija, kuru izstrādā un uztur Khronos grupa. To izmanto arī videospēļu izstrādei, kur tā konkurē ar Direct3D uz Microsoft platformas.

Precīzi norāda, kādai jābūt katras funkcijas izejai un kā tai vajadzētu darboties. Tā kā OpenGL specifikācija nesniedz sīkāku informāciju par ieviešanu, faktiski izstrādātajām versijām var būt atšķirīgas ieviešanas, ja vien to rezultāti atbilst specifikācijai (un līdz ar to ir vienādi lietotājam).

OpenGL bibliotēku izstrādātāji parasti ir grafisko karšu ražotāji. Katrs GPU atbalsta īpašas šīs API versijas, kas ir OpenGL versijas, kas īpaši izstrādātas šai grafiskajai kartei. Piemēram, kad tiek izmantota tāda uzņēmuma kā Apple sistēma, viņi uztur OpenGL bibliotēku, un operētājsistēmā Linux ir grafisko pakalpojumu sniedzēju versiju un šo bibliotēku pielāgojumu kombinācija. Tas var nozīmēt, ka vienmēr, kad OpenGL parāda dīvainu rīcību, kurai tā nevajadzētu, ļoti iespējams, ka tā ir grafisko karšu ražotāju vaina. Ikreiz, kad ieviešanā rodas kļūda, to parasti novērš, atjauninot grafikas kartes draiverus. Šajos draiveros ir iekļautas jaunākās versijas, kuras atbalsta jūsu GPU. Šī iemesla dēļ draiverus vienmēr ieteicams atjaunināt.

OpenGL mērķi

Galvenie mērķi ir:

  • Samaziniet saskarnes sarežģītību ar dažādām grafiskajām kartēm , iepazīstinot programmētāju ar unikālu un vienotu API. Slēpt dažādu aparatūras platformu dažādās iespējas , pieprasot, lai visas ieviešanas atbalstītu visu OpenGL funkciju komplektu (vajadzības gadījumā izmantojot programmatūras emulāciju).

OpenGL pamatfunkcija ir pieņemt primitīvas darbības, piemēram, punktus, līnijas un daudzstūrus, un pārvērst tos pikseļos. Šo procesu veic grafisks cauruļvads, kas pazīstams kā OpenGL stāvokļa mašīna. Lielākā daļa OpenGL komandu izdod primitīvas operācijas diagrammas segmentēšanai. Līdz 2.0 versijas izlaišanai katrs segmentēšanas posms tika izpildīts noteiktā funkcijā, kā rezultātā tā bija maz konfigurējama. Kopš šīs versijas vairāki posmi ir pilnībā programmējami, izmantojot GLSL.

Paplašinājumi

Ļoti interesanta lieliska īpašība ir tā paplašināšanas atbalsts. Ikreiz, kad GPU uzņēmums ievieš jaunu tehnoloģiju vai jaunu optimizācijas veidu 3D attēlu atveidošanai , tas atrodas draiveros ieviestā paplašinājumā. Ja aparatūra, kurā darbojas lietojumprogramma, atbalsta šo paplašinājumu, izstrādātājs var izmantot paplašinājuma piedāvātās funkcijas, lai iegūtu modernāku vai efektīvāku grafiku. Tādā veidā videospēļu izstrādātājs var izmantot šīs jaunās renderēšanas tehnikas, negaidot, kamēr OpenGL iekļaus funkcionalitāti nākamajās versijās, vienkārši pārbaudot, vai grafikas karte atbalsta paplašinājumu. Bieži vien, kad paplašinājums ir populārs vai ļoti noderīgs, tas galu galā kļūst par daļu no nākamajām OpenGL versijām.

Mēs iesakām jums Mad Max izlaist atbalstu Vulkan jaunajā publiskajā beta versijā Linux

OpenGL evolūcija

2015. gada martā spēļu izstrādātāju konferencē kā OpenGL pēctecis tika ieviesta Vulkan API. Sākotnēji pazīstams kā "Next Generation OpenGL" vai "glNext", programmēšanas saskarne ir atvērtā koda un pārrobežu platforma. Atšķirība no OpenGL ir tā, ka programmēšanas laikā lielāka uzmanība tiek pievērsta aparatūrai, kas ievērojami palielina jaudu. Dažas PC spēles jau atbalsta Vulkan, bet lielākā daļa izmanto DirectX. Vulkan izstrādā arī Khronos grupa.

Mēs iesakām izlasīt labākās grafiskās kartes tirgū.

Līdz šim mūsu raksts par OpenGL, cerams, ka esat sapratis, no kā tas sastāv, un vēl vairāk. Jebkurā gadījumā komentāros varat atstāt jebkurus jautājumus.

Pamācības

Izvēle redaktors

Back to top button