Sdílet prostřednictvím


Formát kódu shaderu

Příkaz k vytvoření pixelového nebo vertexového shaderu se skládá ze skupiny shaderových kódů. Tyto kódy dávají ovladači pokyn, jak vytvořit shader. Formát tokenů v rámci každého kódu shaderu určuje jeho jedinečnost. Token shaderového kódu je DWORD se specifickým formátem.

Modul runtime DirectX3D před předáním kódu ovladači ověří kód shaderu. Při příchodu kódu shaderu na ovladač může ovladač kód interpretovat, protože formát kódu je platný. Ovladač přečte tokeny kódu shaderu za účelem interpretace kódu.

Každý kód shaderu je formátovaný do obecné struktury tokenů. Prvním tokenem musí být token verze. Token verze poskytuje číslo verze kódu a také určuje, zda je kód pro pixelový nebo vrcholový shader. Obsah shaderu se řídí tokenem verze a skládá se z různých instrukčních tokenů, které se možná prolínaly s tokeny komentářů a prázdnými znaky. V závislosti na přesné operaci, kterou token instrukce určuje, popisek, cílový parametr a tokeny zdrojových parametrů mohou být také součástí obsahu shaderu a postupovat podle instrukčního tokenu. Pokud například token instrukce určuje příkaz ADD, ovladač určí, že jeden cíl a dva tokeny zdrojového parametru se řídí instrukčním tokenem. Koncový token dokončí kód shaderu.

Pokyny k nastavení (například D3DSIO_DCL a D3DSIO_DEF) obsahují jedinečně formátované tokeny.

Každá instrukce shaderu obsahuje konkrétní formát tokenu. Oddíl Kódy operací shaderu popisuje formát tokenu jednotlivých instrukcí shaderu.

Instrukce shaderu začínají primární instrukcí a končí instrukcí D3DSIO_RET nebo D3DSIO_END. Podprogramy se řídí D3DSIO_RET instrukcemi.

Další informace o operacích, které je možné zadat v instrukčních tokenech, najdete v nejnovější dokumentaci DirectX SDK, v referencích na pixelové shadery a shadery vrcholu.

Požadavky

K dispozici v systémech Windows Vista a novějších verzích operačních systémů Windows.