▷ Opengl: mi ez és mi az

Tartalomjegyzék:
Hallottál már az OpenGL-ről ? Gyorsan az iparág vezető valós idejű grafikus API-já vált, mivel gyakorlatilag az egyetlen elérhető több platformon. Ma eljuttatjuk Önnek ezt a cikket, amelyben elmagyarázza, mi az OpenGL és mi az.
Tartalom index
történelem
A 80-as években a grafikus világhoz kapcsolódó sokféle hardverrel kompatibilis szoftver fejlesztése valódi kihívás volt a fejlesztők számára. Nagyon különböző interfészekkel kellett foglalkoznia, és különféle illesztőprogramokat kellett írnia az egyes hardver típusokhoz, mivel ez nagyon drága, ezért a programozók csapatát kiszervezték a fejlesztés felgyorsítása érdekében. Mivel minden csapat külön-külön dolgozott fel az interfészeken, sok redundáns kód került előállításra. 1992-ben az SGI vezette az OpenGL Architecture Review Board (OpenGL ARB) létrehozását, amely egy olyan vállalatcsoport, amely fenntartja és kibővíti a specifikációt a következő években. Az OpenGL az IRIS GL-ből fejlődött ki, és hardveres függőségi problémáját úgy oldotta meg, hogy szoftver-emulációt nyújtott azoknak a nem támogatott szolgáltatásoknak. Így az alkalmazások fejlett grafikákat használhatnak viszonylag gyenge rendszerekben.
Ahhoz, hogy megértsük, mi az OpenGL , először tudnunk kell, mi az API.
Mi az OpenGL megértése, mi az API?
Az API vagy az alkalmazásprogramozási felület egy kódkészlet, amelyet különféle alkalmazásokhoz lehet használni egymással történő kommunikációhoz. Ez a felhasználói felülethez hasonló feladatot hajt végre az ember és a program közötti interakció előmozdításában, csak és kizárólag a szoftverkörnyezetben. Kódok vagy funkciók összekapcsolására szolgál a különböző platformok között, hogy kihasználhassák az egyik webhely szolgáltatásait a másikon.
Mi az OpenGL?
Elsősorban olyan API-nak tekintik, amely nagyszerű funkciókkal rendelkezik, amelyek segítségével 3D és 2D grafikákat és képeket manipulálhatunk. Önmagában azonban nem csupán API, hanem egy specifikáció, amelyet a Khronos Group fejlesztett és karbantartott. Videojátékok fejlesztésére is használják, ahol a Microsoft platformon versenyeznek a Direct3D-vel.
Pontosan meghatározza, hogy mi legyen az egyes funkciók kimenete és hogyan kell működnie. Mivel az OpenGL specifikáció nem nyújt végrehajtási részleteket, a ténylegesen kifejlesztett verziók eltérő megvalósításúak lehetnek , feltéve, hogy azok eredményei megfelelnek a specifikációnak (és ezért azonosak a felhasználó számára).
Az OpenGL könyvtárak fejlesztői általában a grafikus kártyák gyártói. Minden GPU támogatja ennek az API-nak a speciális verzióit, amelyek az OpenGL verziók, amelyeket kifejezetten az adott grafikus kártya számára fejlesztettek ki. Például, ha egy olyan vállalattól származó rendszert használnak, mint az Apple, akkor az OpenGL könyvtárat karbantartják, és Linux alatt a grafikus szolgáltató verzióinak és az ezeknek a könyvtáraknak az alkalmazkodásának kombinációja van. Ez azt jelentheti, hogy ha az OpenGL furcsa viselkedést mutat, amit nem kellene, akkor valószínűleg a grafikus kártya gyártója hibája. Ha bármilyen hiba merül fel a megvalósításban, azt általában a grafikus kártya illesztőprogramjainak frissítésével oldják meg. Ezek az illesztőprogramok tartalmazzák a GPU által támogatott legújabb verziókat. Ezért mindig ajánlott frissíteni az illesztőprogramokat.
OpenGL célok
A fő célkitűzések a következők:
- Csökkentse a felület bonyolultságát a különféle grafikus kártyákkal , miközben a programozónak egyedi és egységes API-t biztosít. Elrejti a különféle hardverplatformok különféle képességeit , megkövetelve, hogy minden megvalósítás támogassa az OpenGL szolgáltatások teljes készletét (szükség esetén szoftveremulációval).
Az OpenGL alapvető művelete primitív műveletek, például pontok, vonalak és sokszögek elfogadása, és pixelekké konvertálása. Ezt a folyamatot az OpenGL State Machine néven ismert grafikus csővezeték hajtja végre. A legtöbb OpenGL-parancs primitív műveleteket bocsát ki a gráfos szegmentáláshoz. A 2.0-s verzió kiadásáig a szegmentálás minden szakaszát egy meghatározott funkcióban hajtották végre, kevés konfigurálhatóságot eredményezve. Ettől a verziótól kezdve több szakasz teljesen programozható a GLSL használatával.
bővítmények
Nagyon érdekes nagy vonás a kiterjesztés támogatása. Ha egy GPU-k társasága új technológiát vagy új optimalizálási módszert vezet be a 3D-s képek megjelenítéséhez , ez egy illesztőprogramban megvalósított kiterjesztés. Ha a hardver, amelyen egy alkalmazás fut, támogatja ezt a kiterjesztést, a fejlesztő a kiterjesztés által biztosított funkciókat felhasználhatja fejlettebb vagy hatékonyabb grafika előállítására. Ilyen módon egy videojáték-fejlesztő felhasználhatja ezeket az új megjelenítési technikákat anélkül, hogy meg kellene várnia, hogy az OpenGL beépítse a funkciókat a jövőbeli verziókba, egyszerűen ellenőrizve, hogy a grafikus kártya támogatja-e a kiterjesztést. Gyakran, amikor egy kiterjesztés népszerű vagy nagyon hasznos, akkor az az OpenGL jövőbeni verzióinak részévé válik.
Javasoljuk, hogy a Mad Max támogatást nyújtson a Vulkan számára az új nyilvános bétaverzióban a Linux számáraOpenGL evolúció
2015 márciusában a Vulkan API bevezetésre került az OpenGL utódjaként a Game Developers konferencián. A kezdeti "Next Generation OpenGL" vagy "glNext" néven ismert programozási felület nyílt forrású és platformokon átnyúló. A különbség az OpenGL-rel szemben az, hogy a programozás során nagyobb figyelmet fordítanak a hardverre, ami jelentősen növeli az energiát. Néhány PC-játék már támogatja a Vulkan-t, de a legtöbb a DirectX-t használja. A Vulkanot a Khronos Csoport is fejleszti.
Javasoljuk, hogy olvassa el a legjobb grafikus kártyákat.
Eddig az OpenGL-ről szóló cikkünk, remélhetőleg megértette, miből áll és még sok más. Mindenesetre bármilyen kérdést meghagyhat a megjegyzésekben.
A Geforce 369.00 béta hozzáadása 3 kiterjesztés az opengl számára
Megjelent új GeForce 369.00 Beta grafikus illesztőprogramok, amelyek új kiterjesztéseket tartalmaznak az OpenGl teljesítményének javítása érdekében.
A Geforce tapasztalata már lehetővé teszi játékok felvételét opengl és vulkan formátumban

A legfrissebb frissítésnek köszönhetően a Geforce Experience már lehetővé teszi játékok felvételét olyan játékokban, amelyek az OpenGl és a Vulkan funkcióval működnek.
Az Nvidia szakosodott fémmérnököt és opengl-t keres

Az Nvidia arra törekszik, hogy megragadja az OpenGL, OpenCL és az Apple Metal API-kra szakosodott szoftvermérnök szolgáltatásait.