Galerie 22
DirectX 11 - seznámení s budoucností
Recenze Grafiky a hry Microsoft

DirectX 11 - seznámení s budoucností | Kapitola 4

Petr Štefek

Petr Štefek

15

Seznam kapitol

1. DirectX 11 - seznámení s budoucností 2. DirectX 11 - co nás čeká za novinky? 3. DirectX 11 - zázrak jménem Compute Shader (CS) 4. Tesselace – staronová technika v akci 5. Tesselator - krok zpět nebo logické vyústění? 6. Závěr - blýská se na lepší časy?

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?

Reklama

Tesselátor nemůžeme v žádném případě považovat za převratnou novinku, která k nám příjde spolu s rozhraním DirectX 11 úplně poprvé. ATI (nyní pod AMD) má ve svých grafických jádrech tesselátor již od relativně revolučního grafického jádra R600, které svou vyspělostí předběhlo dobu a to se mu také stalo osudným. Další grafická jádra řad R600/700 mají ovšem tuto jednotku také, ale nejsou kompatibilní s rozhraním DirectX a její využití je poněkud problematické s ohledem na to, že by vývojáři museli psát speciální funkce pouze pro čipy ATI ne starší než R600, a to, jak uznáte sami, není vzhledem k jejich tržnímu podílu možné a efektivní s ohledem na náklady. DirectX 11 obsahuje v případě specifikace tesselátoru dvě další úrovně pipeline, kde první je tzv. Hull Shader (HS) a tzv. Domain Shader (DS). Funkci těchto úrovní si osvětlíme později.

DirectX 11 - seznámení s budoucností

Jaká je vlastně primární funkce tesselátoru? V zásadě se jedná o rozdělení trojúhelníků na menší části neboli modifikování polygonální sítě podle potřeby programátora. Z relativně jednoduchého modelu, tak lze vytvořit komplexnější model, který více odpovídá realitě. Například můžete vzít objekt jako je kostka a přetvořit jej v kouli v s velmi malým dopadem na velikost (dat), kvalitu a výkon.

Tajemný Hull Shader (HS) má na starosti zpracování kontrolu a zpracování dat (ploch) pro tesselátor a jeho konfiguraci. Plošky vytvořené HS definují oblasti objektu, které budou tesselovány a následně HS využívá kontrolních bodů k určení toho, jak správně nastavit tesselátor a následně odeslat data do Domain Shaderu (DS).

DirectX 11 - seznámení s budoucností

Tesselování probíhá pro každou danou plošku zvlášť a body na této plošce, které jsou základem pro vznik nových trojúhelníků, jsou odeslány do Domain Shaderu, kde je následně proces tesselace dokončen. Pro funkci HS musí programátor zvlášť napsat program, který určí, jak bude daný objekt modifikován. Naopak pro TS není třeba psát žádný další program, neboť funguje pouze na principu vstupních parametrů, které dále procesuje.

DirectX 11 - seznámení s budoucností

Jak už bylo řečeno výše, tak Domain Shader (DS) body připravené HS upraví do formy použitelné pro geometrii upraveného objektu a případně aplikované displacement mapy. Výstupem DS jsou vertexová data. Nové vrcholy mohou být dále procesovány Geometry Shaderem, který je může dále odeslat do Vertex Shaderu. Pravděpodobně nebudeme v praxi vídat situace, kdy by takto data byla odeslána znova do VS/GS, ale budou ihned pasterizována (procesována Pixel Shaderem).


Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama