DirectX 11 - seznámení s budoucností
16.2.2009, Petr Štefek, recenze
V dnešním článku nahlédneme pod pokličku budoucího rozhraní DirectX 11, které je do značné míry vskutku revolučním API, jež bude zajímavé jak pro vývojáře, tak pro nás uživatele. Blýská se nám tedy na lepší časy?
Kapitoly článku:
Krom uvedených skutečností je relevantní také změna (update) HLSL (High Level Shader Language) na verzi 5.0, která je mnohem vstřícnější k vývojářům. HLSL bylo vždycky velmi podobné svou syntaxí s jazykem C a ve verzi 5.0 přidává podporu tříd a rozhraní.
Se všemi úpravami ovšem přichází také vyšší složitost a komplexnost shaderů. Programátoři budou muset pro každou hru vytvořit buď jediný masivní shader, nebo skutečně velké množství menších shaderů. To může znamenat extrémní nároky na spravování bez OOP (objektově orientované programování) konstrukcí. Oproti klasickým OOP jazykům jsou zde ovšem nějaké odlišnosti. Není potřeba správa paměti (absence pointerů) a konstruktorů respektive destruktorů v HLSL. Úlohy jako inicializace jsou řešeny skrz aktualizaci stálých bufferů (zásobníků), které reprezentují používaná data.
Mimo jiné je novinkou také dynamické linkování shaderů, které dovolí programátorovi bojovat se spletitostí a složitostí ve vytváření obrovského množství zdrojů a efektů. Dynamické linkování dovoluje aplikaci se rozhodnout při běhu, které shadery budou kompilovány a linkovány.
Poslední velmi podstatnou změnou je také podpora nových formátů textur, které by měly umožnit přiblížení k realitě díky možnosti použít mnohem větší textury s minimálním vlivem komprese na jejich výslednou kvalitu.
Jak jsme si tedy mohli na předcházejících stránkách přečíst, tak skutečnost, že DirectX 11 podporuje funkce jako neplánovaný přístup do paměti, multi-threading, tesselaci nebo výpočetní shader, budou znamenat především redukci komplexnosti kódu, což je významný faktor a limitace v času potřebném na vývoj aplikace (hry). Pro vývoj situace bude naprosto stěžejní rychlý nástup DirectX 11, který bude dostupný pro Windows Vista a nové Windows 7. Právě Windows 7 budou pravděpodobně prvním výraznějším důvodem k upgradu z dnes postačujících Windows XP. Uživatele tohoto systému zatím neměli dostatek relevantních důvodů pro přechod na Visty, i když vlastnili například DirectX 10 hardware. To by se však mohlo změnit.
Pokud se ptáte, kdy bude na trhu první hardware kompatibilní s DirectX 11, tak vězte, že tak stane v průběhu letošního roku a není vyloučeno, že jak NVIDIA, tak AMD budou chtít své kroky synchronizovat s Microsoftem a jeho vydáním Windows 7 potažmo DirectX 11. Jako obvykle jsme tedy svědky mnoha příslibů větší reality ve hrách a vyššího výkonu na současných i budoucích systémech, ale nechejme se překvapit, jak vše dopadne v praxi.
Zdrojem pro tento artikl byly vynikající články serveru Anandtech (Derek Wilson - softwarový vývojář) a také jako obvykle studnice moudrosti v podobě Wikipedie.
Se všemi úpravami ovšem přichází také vyšší složitost a komplexnost shaderů. Programátoři budou muset pro každou hru vytvořit buď jediný masivní shader, nebo skutečně velké množství menších shaderů. To může znamenat extrémní nároky na spravování bez OOP (objektově orientované programování) konstrukcí. Oproti klasickým OOP jazykům jsou zde ovšem nějaké odlišnosti. Není potřeba správa paměti (absence pointerů) a konstruktorů respektive destruktorů v HLSL. Úlohy jako inicializace jsou řešeny skrz aktualizaci stálých bufferů (zásobníků), které reprezentují používaná data.
Mimo jiné je novinkou také dynamické linkování shaderů, které dovolí programátorovi bojovat se spletitostí a složitostí ve vytváření obrovského množství zdrojů a efektů. Dynamické linkování dovoluje aplikaci se rozhodnout při běhu, které shadery budou kompilovány a linkovány.
Poslední velmi podstatnou změnou je také podpora nových formátů textur, které by měly umožnit přiblížení k realitě díky možnosti použít mnohem větší textury s minimálním vlivem komprese na jejich výslednou kvalitu.
Jak jsme si tedy mohli na předcházejících stránkách přečíst, tak skutečnost, že DirectX 11 podporuje funkce jako neplánovaný přístup do paměti, multi-threading, tesselaci nebo výpočetní shader, budou znamenat především redukci komplexnosti kódu, což je významný faktor a limitace v času potřebném na vývoj aplikace (hry). Pro vývoj situace bude naprosto stěžejní rychlý nástup DirectX 11, který bude dostupný pro Windows Vista a nové Windows 7. Právě Windows 7 budou pravděpodobně prvním výraznějším důvodem k upgradu z dnes postačujících Windows XP. Uživatele tohoto systému zatím neměli dostatek relevantních důvodů pro přechod na Visty, i když vlastnili například DirectX 10 hardware. To by se však mohlo změnit.
Pokud se ptáte, kdy bude na trhu první hardware kompatibilní s DirectX 11, tak vězte, že tak stane v průběhu letošního roku a není vyloučeno, že jak NVIDIA, tak AMD budou chtít své kroky synchronizovat s Microsoftem a jeho vydáním Windows 7 potažmo DirectX 11. Jako obvykle jsme tedy svědky mnoha příslibů větší reality ve hrách a vyššího výkonu na současných i budoucích systémech, ale nechejme se překvapit, jak vše dopadne v praxi.
Zdrojem pro tento artikl byly vynikající články serveru Anandtech (Derek Wilson - softwarový vývojář) a také jako obvykle studnice moudrosti v podobě Wikipedie.