Określanie obiektów docelowych kompilatora
Należy określić cel cieniowania — zestaw funkcji cieniowania — do skompilowania podczas wywoływania funkcji D3DCompile, D3DCompile2lub D3DCompileFromFile. W tym miejscu wymieniamy cele dla różnych profili, które są obsługiwane przez funkcje D3DCompile* oraz kompilator HLSL.
- poziomy funkcji Direct3D 11.0 i 11.1
- Funkcje poziomu Direct3D 10.1
- poziom funkcji Direct3D 10.0
- poziomy funkcji Direct3D 9.1, 9.2 i 9.3
- Legacy Direct3D 9 Shader Model 3.0
- Przestarzały Model cieniowania Direct3D 9 2.0
- starszego modelu cieniowania Direct3D 9 1.x
- efekty dziedziczne
- notatki
- Tematy pokrewne
Poziomy funkcji Direct3D 11.0 i 11.1
Poniżej przedstawiono cele cieniowania, które obsługują poziomy funkcji Direct3D 11.0 i 11.1.
Cel | Opis |
---|---|
cs_5_0 | DirectCompute 5.0 (shader obliczeniowy) |
ds_5_0 | cieniowania domeny |
gs_5_0 | cieniowania geometrii |
hs_5_0 | cieniowanie korpusu |
ps_5_0 | cieniowania pikseli |
vs_5_0 | cieniowania wierzchołków |
Poziom funkcji Direct3D 10.1
Poniżej przedstawiono cele shaderów, które obsługuje poziom funkcji Direct3D 10.1 .
Cel | Opis |
---|---|
cs_4_1 | DirectCompute 4.1 (shader obliczeniowy)¹ |
gs_4_1 | cieniowania geometrii |
ps_4_1 | cieniowania pikseli |
vs_4_1 | Vertex shader |
Poziom funkcji Direct3D 10.0
Poniżej przedstawiono cele cieniowania obsługiwane przez poziomu funkcji Direct3D 10.0.
Cel | Opis |
---|---|
cs_4_0 | DirectCompute 4.0 (shader obliczeniowy)¹ |
gs_4_0 | cieniowania geometrii |
ps_4_0 | cieniowania pikseli |
vs_4_0 | cieniowania wierzchołków |
Poziomy funkcji Direct3D 9.1, 9.2 i 9.3
Oto cele shaderów, które według poziomów funkcji obsługują Direct3D 9.1, 9.2 i 9.3.
Nota
Jeśli używasz profilów cieniowania *_4_0_level_9_x HLSL, to automatycznie korzystasz z profilów Shader Model 2.x, aby obsługiwać sprzęt zgodny z Direct3D 9. Profile Shader Model 2.x mają bardziej ograniczone zachowanie sterowania przepływem w porównaniu do profilów Shader Model 4.x i nowszych.
Cel | Opis |
---|---|
ps_4_0_level_9_1 |
cieniowanie pikseli dla wersji 9.1 i 9.2 (podobne limity do ps_2_0)
|
ps_4_0_level_9_3 |
cieniowanie pikseli dla wersji 9.3 (podobne limity do ps_2_x² z dodatkowymi funkcjami cieniowania)
|
vs_4_0_level_9_1 |
cieniowania wierzchołków dla wersji 9.1 i 9.2 (podobnie jak vs_2_0)
|
vs_4_0_level_9_3 |
cieniowania wierzchołków dla wersji 9.3 (podobnie jak vs_2_a² z dodatkowymi funkcjami cieniowania i instancingiem)
|
Starszy model cieniowania Direct3D 9 3.0
Poniżej przedstawiono cele cieniowania dla starszego modelu cieniowania Direct3D 9 3.0³.
Cel | Opis |
---|---|
ps_3_0 | cieniowanie pikseli 3.0 |
ps_3_sw | cieniowanie Pixel 3.0 (oprogramowanie) |
vs_3_0 | cieniowania wierzchołków 3.0 |
vs_3_sw | cieniowania wierzchołków 3.0 (oprogramowanie) |
Starszy model cieniowania Direct3D 9 2.0
Oto cele cieniowania dla starszego modelu cieniowania Direct3D 9 2.0³.
Cel | Opis |
---|---|
ps_2_0 | cieniowanie pikseli 2.0 |
ps_2_a | cieniowanie pikseli 2a |
ps_2_b | cieniowanie pikseli 2b |
ps_2_sw | Oprogramowanie do cieniowania pikseli Pixel 2.0 |
vs_2_0 | cieniowania wierzchołków 2.0 |
vs_2_a | Shader wierzchołków 2a |
vs_2_sw | oprogramowanie do cieniowania wierzchołków 2.0 |
Starszy model cieniowania Direct3D 9 1.x
Poniżej przedstawiono cele cieniowania dla starszego modelu cieniowania Direct3D 9 1.x⁴.
Cel | Opis |
---|---|
tx_1_0 | Profil cieniowania tekstury, który jest używany przez starsze funkcje D3DX9⁵ D3DXCreateTextureShader i D3DXFillTextureTX |
vs_1_1 | cieniowania wierzchołków 1.1 |
Efekty dziedziczone
Tutaj są cele dla starszych efektów.
Cel | Opis |
---|---|
fx_2_0 | Efekty (FX) dla Direct3D 9 w D3DX9⁵ |
fx_4_0 | Efekty (FX) dla Direct3D 10.0 w D3DX10⁵ |
fx_4_1 | Efekty (FX) dla Direct3D 10.1 w D3DX10⁵ |
fx_5_0 | Efekty (FX) dla Direct3D 11⁵ |
Notatki
Poniżej przedstawiono kilka uwag, które odnoszą się do powyższych sekcji:
- poziom funkcji urządzeniach 10.0 i 10.1 mogą opcjonalnie obsługiwać funkcję DirectCompute. Aby zweryfikować obsługę, użyj ID3D11Device::CheckFeatureSupport z D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS.
- poziom funkcji 9.3 skutecznie wymaga sprzętu zgodnego z wymaganiami dotyczącymi starszego modelu cieniowania Direct3D 9 3.0, ale ten poziom funkcji nie korzysta z vs_3_0 lub ps_3_0 celów.
- Używaj tylko starszych modeli cieniowania Direct3D 9 z interfejsem API Direct3D 9. Zamiast tego należy używać profilów 9.x z interfejsem API Direct3D 10.x i 11.x.
- Bieżące funkcje cieniowania HLSL D3DCompile* nie obsługują starszych cieniowania pikseli 1.x. Ostatnia wersja biblioteki HLSL do obsługi tych celów to D3DX9 w wersji zestawu SDK DirectX z października 2006 r.
- Wszystkie wersje D3DX i zestawu DirectX SDK są przestarzałe. Aby uzyskać więcej informacji, zobacz Gdzie jest zestaw SDK DirectX?.
Tematy pokrewne