Výukové programy

▷ Opengl: k čemu je a k čemu je

Obsah:

Anonim

Už jste někdy slyšeli o OpenGL ? Rychle se stalo předním grafickým rozhraním API v reálném čase, protože v podstatě bylo jediné dostupné na více platformách. Dnes vám přinášíme tento článek, ve kterém vysvětlujeme, co je OpenGL a k čemu slouží.

Index obsahu

Historie

V 80. letech byl vývojový program, který byl kompatibilní s celou řadou hardwaru souvisejícího s grafickým světem, pro vývojáře skutečnou výzvou. Museli jste se vypořádat s velmi odlišnými rozhraními a psát specifické ovladače pro každý typ hardwaru, což je velmi drahé, proto byly týmy programátorů zadávány externě, aby urychlily vývoj. Protože každý tým pracoval na svých rozhraních samostatně, bylo vytvořeno mnoho redundantního kódu. V roce 1992 vedl SGI vytvoření OpenGL Architecture Review Board (OpenGL ARB), skupiny společností, které by udržovaly a rozšiřovaly specifikace v následujících letech. OpenGL se vyvinul z IRIS GL a překonal problém s hardwarovou závislostí tím, že nabídl emulaci softwaru pro tyto nepodporované funkce. Aplikace tak mohly používat pokročilé grafiky na relativně slabých systémech.

Abychom pochopili, co je OpenGL, musíme nejprve vědět, co je API.

Co je OpenGL, co je API?

Rozhraní API nebo aplikační programovací rozhraní je sada kódů, které lze použít pro vzájemnou komunikaci různých aplikací. Je to něco, co plní úlohu podobnou uživatelskému rozhraní při podpoře interakce mezi osobou a programem, aplikováno pouze a výhradně v softwarovém prostředí. Slouží k propojení kódů nebo funkcí mezi různými platformami, abyste mohli využívat služeb jednoho webu na jiném.

Co je OpenGL?

Je to hlavně rozhraní API, které nám poskytuje velkou sadu funkcí, které můžeme použít k manipulaci s 3D a 2D grafikou a obrázky. Sama o sobě však nejde pouze o API, ale o specifikaci vyvinutou a udržovanou skupinou Khronos. Používá se také pro vývoj videoher, kde soutěží s Direct3D na platformě Microsoft.

Určuje přesně, jaký by měl být výstup každé funkce a jak by měl fungovat. Protože specifikace OpenGL neposkytuje podrobnosti o implementaci, mohou mít skutečně vyvinuté verze různé implementace, pokud jsou jejich výsledky v souladu se specifikací (a proto jsou pro uživatele stejné).

Vývojáři knihoven OpenGL jsou obvykle výrobci grafických karet. Každá GPU podporuje specifické verze tohoto API, což jsou verze OpenGL vyvinuté speciálně pro tuto grafickou kartu. Například při používání systému od společnosti, jako je Apple, udržují knihovnu OpenGL a pod Linuxem existuje kombinace verzí poskytovatelů grafiky a úprav pro tyto knihovny. To může znamenat, že kdykoli OpenGL vykazuje podivné chování, které by nemělo, je velmi pravděpodobné, že jde o chybu výrobců grafických karet. Kdykoli dojde k chybě v implementaci, je obvykle vyřešena aktualizací ovladačů grafické karty. Tyto ovladače obsahují nejnovější verze, které váš grafický procesor podporuje. Z tohoto důvodu se vždy doporučuje aktualizovat ovladače.

Cíle OpenGL

Hlavní cíle jsou:

  • Snižte složitost rozhraní s různými grafickými kartami a programátorovi představte jedinečné a jednotné API. Skrýt různé možnosti různých hardwarových platforem a vyžadovat, aby všechny implementace podporovaly celou sadu funkcí OpenGL (v případě potřeby pomocí emulace softwaru).

Základní operací OpenGL je přijímat primitivní akce, jako jsou body, čáry a polygony, a převádět je na pixely. Tento proces se provádí pomocí grafického potrubí známého jako OpenGL State Machine. Většina příkazů OpenGL vydává primitivní operace segmentaci grafů. Až do vydání verze 2.0 byla každá fáze segmentace prováděna v zavedené funkci, což mělo za následek malou konfigurovatelnost. Od této verze je několik fází plně programovatelných pomocí GLSL.

Rozšíření

Velmi zajímavou skvělou funkcí je podpora rozšíření. Kdykoli společnost GPU zavádí novou technologii nebo nový způsob optimalizace pro vykreslování 3D obrázků , jedná se o rozšíření implementované v ovladačích. Pokud hardware, na kterém je spuštěna aplikace, podporuje toto rozšíření, může vývojář pomocí funkce poskytované rozšířením získat pokročilejší nebo účinnější grafiku. Tímto způsobem může vývojář videoher využít tyto nové techniky vykreslování, aniž by musel čekat, až OpenGL zahrne funkčnost v budoucích verzích, jednoduše kontrolou, zda grafická karta rozšíření podporuje. Když je rozšíření populární nebo velmi užitečné, stává se často součástí budoucích verzí OpenGL.

DOPORUČUJEME VÁS Mad Max uvolňuje podporu pro Vulkan ve své nové veřejné beta verzi pro Linux

Evoluce OpenGL

V březnu 2015 bylo na konferenci Game Developers Conference představeno rozhraní Vulkan API jako nástupce OpenGL. Programovací rozhraní, původně známé jako „Next Generation OpenGL“ nebo „glNext“, je open source a multiplatformní. Rozdíl oproti OpenGL spočívá v tom, že během programování je věnována větší pozornost hardwaru, což výrazně zvyšuje výkon. Některé počítačové hry již podporují Vulkan, ale většina využívá DirectX. Vulkan také vyvíjí skupina Khronos.

Doporučujeme přečíst si nejlepší grafické karty na trhu.

Zatím náš článek o OpenGL, doufejme, že jste pochopili, z čeho se skládá a další. V komentářích však můžete zanechat jakékoli dotazy.

Výukové programy

Výběr redakce

Back to top button