OpenGL vedle DirectX stále žije - vychází openGL 3 Tisk E-mail
Napsal ElCondor   
Středa, 14 listopad 2007
Přejít na obsah
OpenGL vedle DirectX stále žije - vychází openGL 3
OpenGL a Direct3D (DirectX) - srovnání výkonu

 

 

 

  • OpenGL vedle DirectX stále žije

Ani s nástupem DirectX10 OpenGL neumírá. Ba možná právě naopak. Podívejme se na OpenGL a jeho budoucnost s pořadovým číslem 3. Kdybych si tento titulek přečetl já, řekl bych si: "A co jako? Vždyť to je přece jasné." Bohužel. Jak tak sleduji diskuze posledních dní, roztočené zejména příchodem grafických karet s podporou DX10 a jejich nekonečným testováním a srovnáváním. Internet snese opravdu všechno. Takže se ani nedivím, že se u určitých uživatel hojně rozšířil nesmyslný názor, že openGL je "mrtvé", nebo odsouzené k pomalému vymizení na okraji zájmu. Podívejme se jak to s openGL je ve skutečnosti a v jakém jsou vztahu s "hitem" posledních dní: DX10 ...

  • Trocha historie

V 80. letech bylo psaní aplikací používající grafický HW neskutečně obtížné. SW vývojáři psali API a ovladače pro každé zařízení zvlášť. To vedlo k neustálému předražování vývoje a duplicitě kódu, kdy mnozí psali něco, co už dávno před nimi napsal někdo jiný pro jiné zařízení. Na počátku 90. let byla v segmentu 3D grafických pracovních stanic firma SGI (Silicon graphics). Jejich IrisGL API se díky svému kvalitnímu návrhu a snadnému používání stalo de-facto průmyslovým standardem. Konkurenti SGI (společnosti jako IBM, HP, SUN), používali pro svůj 3D hardware konkurenční standard PHIGS, který byl považován za částečně zastaralý. Následkem toho se pozice firmy SGI na trhu neustále oslabovala s narůstajícím počtem konkurentů používající standard tento PHIGS. Za této situace přichází SGI s revolučním řešením a rozhodne se proměnit IrixGL na Otevřený standard. Vyústěním těchto snah bylo uvedení OpenGL standardu společností SGI, odvozeného od IrixGL.

efekt-1

OpenGL sjednotila přístup k HW, a přesunula odpovědnost za obsluhu HW od vývojářů aplikací směrem k výrobcům HW. Dnes se tento revoluční krok projevuje například existencí ovladače ke grafické kartě a všichni berou ovladače jako samozřejmost.  Přesto je to inovace, za niž vděčíme právě vzniku openGL. Jednotná řeč pro všechen možný grafický HW, měla velký pozitivní vliv na vývoj 3D apliací. V roce 1992 SGI podpořila vznik uskupení  OpenGL architectural review board (OpenGL ARB), tedy jakousi asociaci společností, která měla zajistit vývoj openGL do budoucna. Jednou z mnoha společností tohoto uskupení byl i Microsoft, který jej ovšem v roce 2003 opustil. Od roku 2006 spravuje openGL skupina Khronos grup. Za všechny možné členy bych zmínil: AMD, Creative Labs, Intel, ID Software, Nvidia, Sony Computer Entertainement, Sun Microsystems, Texas instruments.

dx

Společnost Microsoft si tradičně tak trochu hrála na vlastním písečku a tak v roce 1995 vydala vlastní API s názvem Direct3D (část DirectX). Jak už jsem zmínil, po úspěšném prosazení Direct3D na platformu Windows, Microsoft v roce 2003 opouští svou pozici u jednacího stolu o openGL a v nadcházejícím operačním systému Windows Vista, pro jistotu podporu openGL záměrně ořeže.

  • OpenGL a Direct3D (DirectX) - filozofie

Tyto dvě API, ačkoli přinesly podobnou funkcionalitu, byly postaveny na naprosto protichůdných myšlenkách. Direct3D bylo navrženo jako 3D HW rozhraní. Jeho vlastnosti se odvíjí od toho, jaké vlastnosti poskytuje HW. Na druhou stranu openGL bylo postaveno jako 3D renderující systém, který může být HW akcelerován. Zatímco direct3D vyžaduje, aby aplikace sama spravovala HW prostředky, OpenGL má implementaci, která to udělá za ní (za aplikaci). To způsobuje, že je mnohem jednodušší pracovat pomocí openGL API. Vývojář pracující s Direct3D musí HW prostředky spravovat sám. Jak je vidět, tenhle zaostalý přístup k HW, který Microsoft vynalezl v dobách DOSu, nás tady bude strašit ještě dlouho. Nicméně, toto nesystémové řešení má jednu nezanedbatelnou výhodu. Vývojáři mají možnost spravovat HW zdroje způsobem, který se jim zdá zrovna pro tu jednu jejich aplikaci nejvýhodnější, což je u počítačových her výhoda jistě lákavá.

dx-opengl

Dalším rozdílem mezi těmito API, byl způsob, jakým nakládaly s renderováním textur. Zde se přístup Direct3D osvědčil mnohem více, zatímco implementace openGL byla poměrně nešikovná. Tento problém byl ovšem v openGL vyřešen a dnešní verze obou API maji k renderování textur podobný přístup.



 

.... a také na Twitteru

RSS

DDWorld.cz

DDWorld - Blogy a videa

DDWorld - Magazín

Poslední příspěvky v diskuzích


Videa
Horizon Forbidden West vyšlo na PC – solidní port!
Horizon Forbidden West vyšlo na PC – solidní port!Pátek, 22 březen 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1343x
Komentářů: 6
Baldur's Gate 3 se nedočká DLC, datadisku ani pokračování!
Baldur's Gate 3 se nedočká DLC, datadisku ani pokračování!Čtvrtek, 21 březen 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1120x
Komentářů: 1
Alien: Romulus – nový film naváže na klasiku!
Alien: Romulus – nový film naváže na klasiku!Středa, 20 březen 2024
Vložil: aDDmin
Kategorie: Film
Spuštěno: 1832x
Komentářů: 4
The Acolyte – hraný Star Wars seriál v novém stylu
The Acolyte – hraný Star Wars seriál v novém styluÚterý, 19 březen 2024
Vložil: aDDmin
Kategorie: Film
Spuštěno: 1120x
Komentářů: 0
Far Cry slaví 20 let! Také si přijdete staří?
Far Cry slaví 20 let! Také si přijdete staří?Čtvrtek, 14 březen 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1893x
Komentářů: 3
PUBG slaví 7 let – přechází na Unreal Engine 5!
PUBG slaví 7 let – přechází na Unreal Engine 5!Úterý, 12 březen 2024
Vložil: aDDmin
Kategorie: Počítačové hry
Spuštěno: 1858x
Komentářů: 1