Modely shaderu vs. profily shaderu
Jazyk stínování vysoké úrovně pro DirectX implementuje řadu modelů shaderu. Pomocí HLSL můžete vytvořit programovatelné shadery podobné jazyku C pro kanál Direct3D. Každý model shaderu vychází z možností modelu před ním a implementuje více funkcí s menším počtem omezení.
Model shaderu 1 se spustil s DirectX 8 a zahrnoval úroveň sestavení a pokyny podobné C. Tento model má mnoho omezení způsobených včasným programovatelným hardwarem shaderu. Model Shader 2 a 3 se výrazně rozšířil o počet instrukcí a konstanty shadery by mohly použít. Jsou mnohem výkonnější než shader model 1, ale stále mají některá stávající omezení prvního modelu shaderu.
Od systému Windows Vista je model shaderu 4 kompletním návrhem. Umožňuje neomezené instrukce a konstanty (v rámci hardwarových omezení vašeho počítače), má šablonované objekty, aby vzorkování textur byly čistější a efektivnější a má nejmenší omezení libovolného modelu shaderu. Vyžaduje však model ovladače systému Windows, který je k dispozici pouze v operačním systému Windows Vista (nebo novějším).
Profily shaderu
Profil shaderu je cílem pro kompilaci shaderu; tato tabulka uvádí profily shaderu podporované jednotlivými modely shaderu.
Model shaderu | Profily shaderu |
---|---|
model shaderu 1 | vs_1_1 |
Shader Model 2 | ps_2_0, ps_2_x, vs_2_0, vs_2_x, ps_4_0_level_9_0, ps_4_0_level_9_1, ps_4_0_level_9_3, vs_4_0_level_9_0, vs_4_0_level_9_1, vs_4_0_level_9_3, lib_4_0_level_9_1, lib_4_0_level_9_3 |
Shader Model 3 | ps_3_0, vs_3_0 |
model shaderu 4 | cs_4_0, gs_4_0, ps_4_0, vs_4_0, cs_4_1, gs_4_1, ps_4_1, vs_4_1, lib_4_0, lib_4_1 |
model shaderu 5 | cs_5_0, ds_5_0, gs_5_0, hs_5_0, ps_5_0, vs_5_0, lib_5_0 (přestože gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0 a vs_4_1 byly zavedeny v modelu shaderu 4.0, model shaderu 5 přidává podporu těchto profilů shaderu pro strukturované vyrovnávací paměti a vyrovnávací paměti adres bajtů.) |
model shaderu 6 | cs_6_0, ds_6_0, gs_6_0, hs_6_0, ps_6_0, vs_6_0, lib_6_0 |
Rozdíly mezi Direct3D 9 a Direct3D 10:
- Direct3D 9 zavedl modely shaderu 1, 2 a 3.
- Direct3D 10 zavedl model shaderu 4.
- Direct3D 10.1 zavedl model shaderu 4.1.
Profily efektů
Profil efektu je cílem kompilace efektu nebo shaderu; tato tabulka obsahuje seznam profilů efektů podporovaných jednotlivými verzemi Direct3D.
Rozdíly mezi Direct3D 9 a Direct3D 10:
- Direct3D 9 zavedl profily architektury efektu fx_1_0 a fx_2_0.
- Direct3D 10 zavedl profil architektury efektu fx_4_0.
- Direct3D 10.1 zavedl profil architektury efektu fx_4_1.
- Direct3D 11 zavedl profil architektury efektu fx_5_0.
Poznámka
Tyto starší profily efektů jsou zastaralé.
Související témata
-
Referenční pro HLSL