コンパイラ ターゲットの指定
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 の機能レベル でサポートされるシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
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 機能レベル でサポートされるシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
cs_4_1 | DirectCompute 4.1 (コンピューティング シェーダー)¹ |
gs_4_1 | ジオメトリ シェーダー |
ps_4_1 | ピクセル シェーダー |
vs_4_1 | 頂点シェーダー |
Direct3D 10.0 機能レベル
Direct3D 10.0 機能レベル でサポートされているシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
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 以降のプロファイルよりも制限されたフロー制御動作がサポートされています。
移行先 | 説明 |
---|---|
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 のシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
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 ² のシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
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⁴ のシェーダー ターゲットを次に示します。
移行先 | 説明 |
---|---|
tx_1_0 | 従来の D3DX9⁵ 関数 D3DXCreateTextureShader と D3DXFillTextureTX が使用するテクスチャ シェーダー プロファイル |
vs_1_1 | 頂点シェーダー 1.1 |
従来の効果
レガシ効果の効果ターゲットを次に示します。
移行先 | 説明 |
---|---|
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 with D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONSを使用します。
- 機能レベル 9.3 では、 従来の Direct3D 9 シェーダー モデル 3.0 の要件に準拠するハードウェアが実質的に必要ですが、この機能レベルでは、vs_3_0ターゲットやps_3_0ターゲットは使用されません。
- Direct3D 9 API では、従来の Direct3D 9 シェーダー モデルのみを使用します。 代わりに、Direct3D 10.x および 11.x API で 9.x プロファイルを使用します。
- 現在の HLSL シェーダー D3DCompile* 関数では、従来の 1.x ピクセル シェーダーはサポートされていません。 これらのターゲットをサポートする HLSL の最後のバージョンは、DirectX SDK の 2006 年 10 月リリースの D3DX9 でした。
- D3DX と DirectX SDK のすべてのバージョンは非推奨です。 詳細については、「 DirectX SDK はどこにありますか?」を参照してください。
関連トピック