Sdílet prostřednictvím


Higher-Order primitiv (Direct3D 9)

Direct3D 9 podporuje body, čáry, trojúhelníky a primitivy mřížky. Tyto funkce byly rozšířeny tak, aby podporovaly interpolaci vyššího řádu nad rámec lineárních. I když trojúhelníky a čáry mají prostorový rozsah, do té doby byly oba vykresleny pomocí lineární interpolace. Direct3D 9 podporuje vykreslování těchto primitivních typů pomocí vyššího pořadí až kvintické interpolace. Kromě toho se teď podporuje nový primitivní typ čtyřúhelníku. Tento nový typ lze také vykreslit pomocí interpolace vyššího řádu. Tato funkce je primárně řízená požadavky na animaci a vykreslování znaků. Lze ho také použít pro jiné povrchy, jako je terén nebo voda.

Primitiva vyššího řádu podporují interpolaci vyššího řádu při přenosu do rozhraní API jako seznamy, pruhy, ventilátory nebo indexované sítě. Toho dosáhnete pomocí dalších informací zakódovaných v samotných vrcholech. Například normální vektory lze použít k definování tečny rovin na vrcholech, aby bylo možné provádět krychlovou interpolaci. Většina implementací podporuje interpolaci vyššího řádu pomocí tessellation do planárních trojúhelníků. Krok tessellation se použije logicky před fází shaderu vrcholů. Vzhledem k tomu, že rozhraní API shaderu vrcholů neukládá sémantiku vstupních dat, je k dispozici speciální mechanismus pro identifikaci komponenty vrcholového streamu, která představuje pozici, a volitelně normální vektor. Všechny ostatní komponenty se odpovídajícím způsobem interpolují.

Tato část představuje primitiva vyššího řádu a popisuje, jak se dají použít ve vašich aplikacích. Informace jsou rozděleny do následujících témat.

Vylepšená kvalita prostřednictvím vylepšení rozlišení

Aktuální primitiva nejsou ideální pro reprezentaci hladkých povrchů. Interpolační metody vyššího řádu, jako jsou krychlové polynomy, umožňují přesnější výpočty při vykreslování zakřivených obrazců. To poskytuje zvýšenou realismus snížením nebo odstraněním omezujících artefaktů viditelných na hranách siluety nebo na spektrárním osvětlení povrchu. Kromě toho, když se na čipu vyskytuje tessellation, tessellated trojúhelníky nemají vliv na šířku pásma sběrnice. V mnoha případech může malé množství tessellation poskytovat vylepšení kvality obrazu s minimálním dopadem na výkon.

Direct3D 9 nabízí jednoduchý způsob, jak použít vylepšení rozlišení na obsah vytvořený existujícími polygonovými nástroji a uměleckými kanály. Aplikace potřebuje pouze požadovanou úroveň tessellace a přenášet data pomocí standardní syntaxe trojúhelníku, která zahrnuje normální vektory.

Přímé mapování z nástrojů Spline-Based

Mnoho současných nástrojů pro vytváření obsahu podporuje primitiva vyššího řádu, aby bylo možné provádět výkonnější operace modelování, než jsou běžně k dispozici s planárními trojúhelníkovými oky. Při efektivním použití tak, aby byl počet vygenerovaných oprav přiměřený, mohou takové nástroje vytvářet obsah, který lze vykreslit přímo rozhraním API. Pro splnění tohoto požadavku byl přidán nový vstupní bod, který interpretuje příchozí datový proud vrcholů jako 2D pole kontrolních bodů a tessellate ho do požadovaného rozlišení.

  • pomocí primitivních Higher-Order (Direct3D 9)

kanálu vrcholu