指定編譯器目標
當您呼叫D3DCompile、D3DCompile2或D3DCompileFromFile函式時,您必須指定著色器目標 —一組著色器功能,才能進行編譯。 在這裡,我們會列出 D3DCompile* 函式和 HLSL 編譯器支援的各種設定檔目標。
- Direct3D 11.0 和 11.1 功能層級
- Direct3D 10.1 功能層級
- Direct3D 10.0 功能層級
- Direct3D 9.1、9.2 和 9.3 功能層級
- 舊版 Direct3D 9 著色器模型 3.0
- 舊版 Direct3D 9 著色器模型 2.0
- 舊版 Direct3D 9 著色器模型 1.x
- 舊版效果
- 注意事項
- 相關主題
Direct3D 11.0 和 11.1 功能層級
以下是 Direct3D 11.0 和 11.1 功能層級 支援的著色器目標。
目標 | Description |
---|---|
cs_5_0 | DirectCompute 5.0 (計算著色器) |
ds_5_0 | 網域著色器 |
gs_5_0 | 幾何著色器 |
hs_5_0 | 殼層著色器 |
ps_5_0 | 像素著色器 |
vs_5_0 | 頂點著色器 |
Direct3D 10.1 功能層級
以下是 Direct3D 10.1 功能層級 支援的著色器目標。
目標 | Description |
---|---|
cs_4_1 | DirectCompute 4.1 (計算著色器) ¹ |
gs_4_1 | 幾何著色器 |
ps_4_1 | 像素著色器 |
vs_4_1 | 頂點著色器 |
Direct3D 10.0 功能層級
以下是 Direct3D 10.0 功能層級 支援的著色器目標。
目標 | Description |
---|---|
cs_4_0 | DirectCompute 4.0 (計算著色器) ¹ |
gs_4_0 | 幾何著色器 |
ps_4_0 | 像素著色器 |
vs_4_0 | 頂點著色器 |
Direct3D 9.1、9.2 和 9.3 功能層級
以下是 Direct3D 9.1、9.2 和 9.3 功能層級 支援的著色器目標。
注意
當您使用 *_4_0_level_9_x HLSL 著色器設定檔時,您會隱含地使用 著色器模型 2.x 設定檔來支援 Direct3D 9 支援的硬體。 著色器模型 2.x 設定檔支援比 著色器模型 4.x 和更新版本的設定檔更有限的流程式控制制行為。
目標 | Description |
---|---|
ps_4_0_level_9_1 | 9.1 和 9.2 的圖元著色器 (與ps_2_0) 類似的限制
|
ps_4_0_level_9_3 | 9.3 的圖元著色器 (ps_2_x使用其他著色器功能) 的類似限制
|
vs_4_0_level_9_1 | 9.1 和 9.2 的頂點著色器 (類似vs_2_0)
|
vs_4_0_level_9_3 | 9.3 (的頂點著色器,類似于 vs_2_a ー,具有額外的著色器功能和實例)
|
舊版 Direct3D 9 著色器模型 3.0
以下是舊版 Direct3D 9 著色器模型 3.0¹ 的著色器目標。
目標 | Description |
---|---|
ps_3_0 | 圖元著色器 3.0 |
ps_3_sw | 圖元著色器 3.0 (軟體) |
vs_3_0 | 頂點著色器 3.0 |
vs_3_sw | 頂點著色器 3.0 (軟體) |
舊版 Direct3D 9 著色器模型 2.0
以下是舊版 Direct3D 9 著色器模型 2.0 Android 的著色器目標。
目標 | Description |
---|---|
ps_2_0 | 圖元著色器 2.0 |
ps_2_a | 圖元著色器 2a |
ps_2_b | 圖元著色器 2b |
ps_2_sw | 圖元著色器 2.0 軟體 |
vs_2_0 | 頂點著色器 2.0 |
vs_2_a | 頂點著色器 2a |
vs_2_sw | 頂點著色器 2.0 軟體 |
舊版 Direct3D 9 著色器模型 1.x
以下是舊版 Direct3D 9 著色器模型 1.x⁴的著色器目標。
目標 | Description |
---|---|
tx_1_0 | 舊版 D3DX9⁵ 函式 D3DXCreateTextureShader 和 D3DXFillTextureTX 使用的紋理著色器設定檔 |
vs_1_1 | 頂點著色器 1.1 |
舊版效果
以下是舊版效果的效果目標。
目標 | Description |
---|---|
fx_2_0 | 效果 (D3DX9 中 Direct3D 9 的 FX) ⁵ |
fx_4_0 | D3DX10⁵中 Direct3D 10.0 的效果 (FX) |
fx_4_1 | D3DX10⁵中 Direct3D 10.1 的效果 (FX) |
fx_5_0 | Direct3D 11⁵的 FX) (效果 |
備註
以下是上述各節所參考的一些注意事項:
- 功能層級 10.0 和 10.1 裝置可以選擇性地支援 DirectCompute。 若要確認支援,請使用 ID3D11Device::CheckFeatureSupport 搭配 D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS。
- 功能層級 9.3 實際上需要符合 舊版 Direct3D 9 著色器模型 3.0需求的硬體,但此功能層級不會使用vs_3_0或ps_3_0目標。
- 僅搭配 Direct3D 9 API 使用舊版 Direct3D 9 著色器模型。 請改用 9.x 設定檔搭配 Direct3D 10.x 和 11.x API。
- 目前的 HLSL 著色器 D3DCompile* 函式不支援舊版 1.x 圖元著色器。 2006 年 10 月版本的 DirectX SDK 中,支援這些目標的最後一個版本是 D3DX9。
- 所有版本的 D3DX 和 DirectX SDK 都已被取代。 如需詳細資訊,請參閱 DirectX SDK 的位置?。
相關主題