Vadnice

▷ Opengl: kaj je to in čemu služi

Kazalo:

Anonim

Ste že slišali za OpenGL ? Hitro je postal vodilni grafični API v realnem času v industriji, saj je bil v bistvu edini, ki je na voljo na več platformah. Danes vam ponujamo ta članek, v katerem razlagamo, kaj je OpenGL in za kaj gre.

Kazalo vsebine

Zgodovina

V 80. letih je bil razvoj programske opreme, ki je bila združljiva s široko paleto strojne opreme, povezane z grafičnim svetom, pravi izziv za razvijalce. Morali ste se spopadati z zelo različnimi vmesniki in pisati posebne gonilnike za vsako vrsto strojne opreme, saj so bili zelo dragi, zato so ekipe programerjev oddajali zunanje izvajalce, da bi pospešili razvoj. Ker je vsaka ekipa ločeno delala na svojih vmesnikih, je nastalo veliko odvečne kode. Leta 1992 je SGI vodil ustanovitev Odbora za pregled arhitekture OpenGL (OpenGL ARB), skupine podjetij, ki bi ohranila in razširila specifikacijo v naslednjih letih. OpenGL se je razvil iz IRIS GL in premagal svojo težavo glede odvisnosti od strojne opreme, saj je ponudil programsko emulacijo za te nepodprte funkcije. Tako bi aplikacije lahko uporabljale napredno grafiko na razmeroma šibkih sistemih.

Da bi razumeli, kaj je OpenGL, moramo najprej vedeti, kaj je API.

Razumevanje OpenGL, kaj je API?

Vmesnik za programiranje API ali aplikacij je niz kod, ki jih lahko različne komunikacijske aplikacije uporabljajo za medsebojno komunikacijo. To je nekaj, kar nalogo, podobno uporabniškemu vmesniku, izvaja pri spodbujanju interakcije med osebo in programom, ki se uporablja samo in izključno v programskem okolju. Uporablja se za povezovanje kod ali funkcij med različnimi platformami, tako da lahko izkoristite storitve enega spletnega mesta na drugem.

Kaj je OpenGL?

V glavnem velja za API, ki nam nudi odličen nabor funkcij, ki jih lahko uporabimo za manipulacijo 3D in 2D grafike in slik. Vendar sam po sebi to ni samo API, ampak specifikacija, ki jo je razvila in vzdrževala skupina Khronos. Uporablja se tudi za razvoj video iger, kjer tekmuje z Direct3D na Microsoftovi platformi.

Natančno določa, kakšen mora biti izhod vsake funkcije in kako naj deluje. Ker specifikacija OpenGL ne vsebuje podrobnosti o implementaciji, imajo lahko dejanske razvite različice različne izvedbe, če so njihovi rezultati v skladu s specifikacijo (in so zato za uporabnika enaki).

Razvijalci knjižnic OpenGL so običajno proizvajalci grafičnih kartic. Vsak GPU podpira posebne različice tega API-ja, ki so različice OpenGL, razvite posebej za to grafično kartico. Na primer, ko uporabljajo sistem podjetja, kot je Apple, vzdržujejo knjižnico OpenGL in v Linuxu obstaja kombinacija različic grafičnih ponudnikov in prilagoditev teh knjižnic. To lahko pomeni, da je vedno, ko OpenGL pokaže nenavadno vedenje, da ne bi smel, zelo verjetno kriv proizvajalec grafičnih kartic. Kadar koli se pri izvedbi pojavi napaka, jo običajno odpravimo s posodobitvijo gonilnikov grafične kartice. Ti gonilniki vključujejo najnovejše različice, ki jih podpira vaš GPU. Zaradi tega je vedno priporočljivo posodobiti gonilnike.

Cilji OpenGL

Glavni cilji so:

  • Zmanjšajte kompleksnost vmesnika z različnimi grafičnimi karticami , programerju pa predstavite edinstven in enoten API. Skrijte različne zmogljivosti različnih strojnih platform , ki zahtevajo, da vse izvedbe podpirajo celoten nabor funkcij OpenGL (po potrebi z uporabo emulacije programske opreme).

Osnovna operacija OpenGL-a je sprejemanje primitivnih dejanj, kot so točke, črte in mnogokotniki, in jih pretvoriti v slikovne pike. Ta postopek izvaja grafični cevovod, znan kot državni stroj OpenGL. Večina ukazov OpenGL izda segmentirane operacije za segmentacijo grafov. Do izdaje različice 2.0 je bila vsaka stopnja segmentacije izvedena v ustaljeni funkciji, kar je imelo za posledico malo konfiguracije. Od te različice je več stopenj v celoti programirati z uporabo GLSL.

Podaljški

Zelo zanimiva odlična lastnost je njegova podporna podpora. Kadar podjetje GPU-jev predstavi novo tehnologijo ali nov način optimizacije za upodabljanje 3D-slik , je to v razširitvi, implementirano v gonilnike. Če strojna oprema, na kateri se izvaja aplikacija, podpira to razširitev, lahko razvijalec uporabi funkcionalnost, ki jo ponuja razširitev, za pridobitev naprednejše ali učinkovite grafike. Na ta način lahko razvijalec video iger uporabi te nove tehnike upodabljanja, ne da bi morali čakati, da OpenGL vključi funkcionalnost v prihodnje različice, preprosto s preverjanjem, ali grafična kartica podpira razširitev. Kadar je razširitev priljubljena ali zelo uporabna, sčasoma postane del prihodnjih različic OpenGL-a.

PRIPOROČAMO VAM Mad Max izdaja podporo za Vulkan v novi javni beta različici za Linux

OpenGL evolucija

Marca 2015 je bil Vulkan API predstavljen kot naslednik OpenGL na konferenci razvijalcev iger. Sprva znano kot "Next Generation OpenGL" ali "glNext", programski vmesnik je odprtokoden in navzkrižno platformast. Razlika pri OpenGL-u je, da se med programiranjem posveča več pozornosti strojni opremi, kar znatno poveča moč. Nekatere računalniške igre že podpirajo Vulkan, vendar večina uporablja DirectX. Vulkan razvija tudi skupina Khronos.

Priporočamo branje najboljših grafičnih kartic na trgu.

Do sedaj naš članek o OpenGL-u, upamo, da ste razumeli, iz česa je sestavljeno in še več. Kakorkoli, vsa vprašanja lahko pustite v komentarjih.

Vadnice

Izbira urednika

Back to top button