Průvodce programováním pro HLSL
Data zadávají grafický kanál jako datový proud primitiv a zpracovávají se fázemi shaderu. Skutečné fáze shaderu závisí na verzi Direct3D, ale určitě zahrnují vrcholy, pixely a geometrické fáze. Další fáze zahrnují trupu a doménové shadery pro tessellation a výpočetní shader. Tyto fáze jsou zcela programovatelné pomocí jazyka stínování vysoké úrovně (HLSL).
Shadery HLSL je možné zkompilovat v době vytváření nebo za běhu a nastavit je za běhu do příslušné fáze kanálu. Shadery Direct3D 9 lze navrhovat pomocí shaderu model 1, shader model 2 a shader model 3; Shadery Direct3D 10 lze navrhovat pouze na model shaderu 4. Shadery Direct3D 11 lze navrhnout na model shaderu 5. Direct3D 11.3 a Direct3D 12 lze navrhnout na shaderu model 5.1a Direct3D 12 lze také navrhnout na shaderu model 6.
V této části
Námět | Popis |
---|---|
Použití propojení shaderu | Ukážeme si, jak vytvářet předkompilované funkce HLSL, zabalit je do knihoven a propojit je s úplnými shadery za běhu. |
psaní shaderů HLSL v Direct3D 9 | |
použití shaderů v Direct3D 9 | |
použití shaderů v direct3D 10 | |
optimalizace shaderů HLSL | |
ladění shaderů v sadě Visual Studio | Nejnovější nástroj pro ladění shaderů se nyní dodává jako funkce v sadě Microsoft Visual Studio s názvem Visual Studio Graphics Debugger. |
kompilování shaderů | Teď se podíváme na různé způsoby kompilace kódu shaderu a konvencí pro přípony souborů pro kód shaderu. |
určení cílů kompilátoru | Tady uvádíme cíle pro různé profily, které D3DCompile* funkce a podporu kompilátoru HLSL. |
rozbalení a balení DXGI_FORMAT pro In-Place úpravy obrázku | |
použití minimální přesnosti HLSL | Počínaje Systémem Windows 8 můžou grafické ovladače implementovat minimální přesnost skalárních datových typů HLSL pomocí libovolné přesnosti větší nebo rovno zadané přesnosti bitu. |
model shaderu HLSL 5 | |
model shaderu HLSL 5.1 | Tato část popisuje funkce shaderu Model 5.1, které se používají v praxi u D3D12 a D3D11.3. Veškerý hardware DirectX 12 podporuje Shader Model 5.1. |
model shaderu HLSL 6.0 | Popisuje vnitřní funkce vlnové operace přidané do modelu SHADER HLSL 6.0. |
model shaderu HLSL 6.4 | Popisuje vnitřní funkce strojového učení přidané do modelu HLSL Shader 6.4. |