Tutoriali

▷ Opengl: što je to i čemu služi

Sadržaj:

Anonim

Jeste li ikad čuli za OpenGL ? Ubrzo je postao vodeći grafički API u stvarnom vremenu, jer je u osnovi bio jedini dostupan na više platformi. Danas vam donosimo ovaj članak u kojem objašnjavamo što je OpenGL i čemu služi.

Sadržaj indeks

povijest

U 80-ima je razvijanje softvera kompatibilnog sa širokim spektrom hardvera povezanim s grafičkim svijetom bio pravi izazov za programere. Morali ste se suočiti s vrlo različitim sučeljima i napisati određene upravljačke programe za svaku vrstu hardvera, budući da su oni skupi, tako da su timovi programera dobili vanjske poslove kako bi ubrzali razvoj. Budući da je svaki tim radio odvojeno na svojim sučeljima, nastalo je mnogo suvišnih kodova. Godine 1992. SGI je vodio stvaranje Odbora za pregled arhitekture OpenGL (OpenGL ARB), grupe tvrtki koje će održavati i proširiti specifikacije u sljedećim godinama. OpenGL je evoluirao iz IRIS GL-a, prevladavajući svoj problem ovisnosti o hardveru nudeći softversku emulaciju za one nepodržane značajke. Stoga bi aplikacije mogle koristiti naprednu grafiku na relativno slabim sustavima.

Da bismo razumjeli što je OpenGL, prvo moramo znati što je API.

Razumijevanje OpenGL-a, što je API?

API ili programsko sučelje programa je skup kodova koji se mogu koristiti za razne aplikacije za međusobnu komunikaciju. To je nešto što obavlja zadatak sličan korisničkom sučelju u promicanju interakcije između osobe i programa, samo primjenjuje se i isključivo u programskom okruženju. Koristi se za povezivanje kodova ili funkcija između različitih platformi kako biste mogli iskoristiti usluge jedne web stranice na drugoj.

Što je OpenGL?

Uglavnom se smatra API-om koji nam pruža odličan skup funkcija koje možemo koristiti za manipulaciju 3D i 2D grafikom i slikama. Međutim, sam po sebi to nije samo API, već specifikacija, koju je razvila i održala Khronos grupa. Koristi se i za razvoj videoigara gdje se natječe s Direct3D na Microsoftovoj platformi.

Određuje točno kakav treba biti izlaz svake funkcije i kako bi ona trebala raditi. Budući da specifikacija OpenGL ne sadrži detalje implementacije, stvarne razvijene verzije mogu imati različite implementacije, sve dok njihovi rezultati udovoljavaju specifikaciji (i samim tim su iste za korisnika).

Programeri OpenGL knjižnica obično su proizvođači grafičkih kartica. Svaki GPU podržava određene verzije ovog API-ja, koje su verzije OpenGL-a razvijene posebno za tu grafičku karticu. Na primjer, kada koriste sustav tvrtke poput Apple-a, oni održavaju OpenGL biblioteku, a pod Linuxom postoji kombinacija verzija i prilagodbi dobavljača grafike za te knjižnice. To može značiti da je vjerovatno da je greška proizvođača grafičkih kartica kad god OpenGL pokaže neobično ponašanje koje ne bi trebalo. Kad god dođe do pogreške u implementaciji, ona se obično rješava ažuriranjem upravljačkih programa grafičke kartice. Ti upravljački programi uključuju najnovije verzije koje podržava vaš GPU. Iz tog razloga se uvijek preporučuje da ažurirate upravljačke programe.

OpenGL ciljevi

Glavni ciljevi su:

  • Smanjenje složenosti sučelja s različitim grafičkim karticama , predstavljajući programera jedinstvenom i ujednačenom API-ju. Sakrijte različite mogućnosti različitih hardverskih platformi , zahtijevajući da sve implementacije podržavaju cijeli skup OpenGL-ovih značajki (ako je potrebno, koristeći emulaciju softvera).

Osnovna operacija OpenGL- a je prihvaćanje primitivnih radnji poput točaka, linija i poligona i pretvaranje u piksele. Ovaj postupak izvodi grafički cjevovod poznat kao Državni stroj OpenGL. Većina OpenGL naredbi izdaje primitivne operacije radi segmentacije grafikona. Sve do izlaska verzije 2.0, svaka faza segmentacije izvršena je u utvrđenoj funkciji, što je rezultiralo malo konfigurabilnosti. Od ove verzije, nekoliko faza je u potpunosti programibilno pomoću GLSL-a.

ekstenzije

Vrlo zanimljiva značajka je njegova podrška za proširenje. Kad god tvrtka GPU-a uvede novu tehnologiju ili novi način optimizacije za prikazivanje 3D slika , to je u produžetku implementiranom u upravljačke programe. Ako hardver na kojem se izvodi aplikacija podržava ovo proširenje, programer može upotrijebiti funkcionalnost koju pruža proširenje za dobivanje naprednije ili efikasnije grafike. Na ovaj način, programer videoigara može koristiti ove nove tehnike prikazivanja bez čekanja da OpenGL uključi funkcije u budućim verzijama, jednostavno provjeravanjem podržava li grafička kartica ekstenziju. Kad je proširenje popularno ili vrlo korisno, s vremenom postaje dio budućih verzija OpenGL-a.

PREPORUČUJEMO vam Mad Max izdanje podrške za Vulkan u njegovoj novoj javnoj beta verziji za Linux

OpenGL evolucija

U ožujku 2015., Vulkan API predstavljen je kao nasljednik OpenGL-a na Game Developers Conference. U početku poznat kao "Next Generation OpenGL" ili "glNext", programsko sučelje je open source i cross-platformski. Razlika u OpenGL-u je što se više programiranja pridaje hardveru tijekom programiranja, što značajno povećava snagu. Neke PC igre već podržavaju Vulkan, ali većina ih koristi DirectX. Vulkan također razvija Khronos grupa.

Preporučujemo čitanje najboljih grafičkih kartica na tržištu.

Do sada je naš članak o OpenGL-u, nadamo se da ste shvatili od čega se sastoji i još mnogo toga. U svakom slučaju, pitanja možete ostaviti u komentarima.

Tutoriali

Izbor urednika

Back to top button