Fáze vrcholu shaderu
Fáze vrcholu shaderu (VS) zpracovává vrcholy ze vstupního assembleru a provádí operace jednotlivých vrcholů, jako jsou transformace, skining, morfing a osvětlení vrcholů. Shadery vrcholů vždy pracují s jedním vstupním vrcholem a vytvářejí jeden výstupní vrchol. Fáze vrcholu shaderu musí být vždy aktivní, aby se kanál spustil. Pokud není nutná žádná úprava vrcholu nebo transformace, musí být vytvořen průchozí shader vrcholů a nastaven na kanál.
Vrchol-shader
Každý vrchol vstupní vrchol vrcholu shaderu vrcholu může obsahovat až 16 32bitových vektorů (až 4 komponenty) a každý výstupní vrchol se může skládat z maximálně 16 32bitových 4 komponentních vektorů. Všechny vrcholové shadery musí mít minimálně jeden vstup a jeden výstup, což může být jen jedna skalární hodnota.
Fáze vertex-shader může využívat dvě systémové vygenerované hodnoty ze vstupního assembleru: VertexID a InstanceID (viz sémantiku systémové hodnoty). Vzhledem k tomu, že identifikátory VertexID a InstanceID jsou smysluplné na úrovni vrcholu a ID vygenerovaná hardwarem se dají předávat pouze do první fáze, která jim rozumí, je možné tyto hodnoty ID předávat pouze do fáze vertex-shader.
Shadery vrcholů se vždy spouští na všech vrcholech, včetně sousedních vrcholů ve vstupních primitivních topologiích s sousedstvím. Počet spuštění vrchol-shaderu je možné dotazovat z procesoru pomocí statistiky kanálu VSInvocations.
Vrchol-shader může provádět operace vzorkování zatížení a textury, kde nejsou vyžadovány deriváty prostoru obrazovky (pomocí vnitřních funkcí HLSL: Ukázka (Objekt textury DirectX HLSL), SampleCmpLevelZero (DirectX HLSL Texture Object)a SampleGrad (Objekt textury DirectX HLSL)).
Související témata
- grafického kanálu
- fáze kanálu (Direct3D 10)