構文
ここでは、エフェクト コンパイラ ツールの FXC.exe を呼び出すための構文について説明します。例については、「オフライン コンパイル」を参照してください。
fxc SwitchOptions Filename |
---|
引数
- SwitchOptions
[in] コンパイル オプションです。次に、2 つの必須オプションの一覧と多数の省略可能オプションの一覧を、間隔を置いて示します。
必須の SwitchOptions | 説明 |
---|---|
/E <名前> | シェーダー エントリポイント |
/T <プロフィール> | シェーダー モデル (「プロファイル」を参照) |
省略可能な SwitchOptions | 説明 |
---|---|
/Cc | 色分けされたアセンブリを出力します。 |
/D <id>=<テキスト> | マクロを定義します。 |
/Fc <ファイル> | アセンブリ コード リスト ファイルを出力します。 |
/Fh <ファイル> | オブジェクト コードを含むヘッダー ファイルを出力します。 |
/Fo <ファイル> | オブジェクト ファイルを出力します。 |
/Fx <ファイル> | アセンブリ コードおよび 16 進数リスト ファイルを出力します。 |
/P <ファイル> | ファイルのプリプロセスを実行します (単独で使用する必要があります)。 |
/Gdp | エフェクトのパフォーマンス モードを無効にします。 |
/Gec | 下位互換モードを有効にします。 |
/Ges | ストリクト モードを有効にします。 |
/Gfa | フロー制御コンストラクトを回避します。 |
/Gfp | フロー制御コンストラクトを優先します。 |
/Gis | IEEE の厳密性を強制します。 |
/Gpp | 部分精度を強制します。 |
/I <インクルード> | 追加のインクルード パスです。 |
/LD | DirectX 9 HLSL コンパイラを使用してコンパイルします。レガシー シェーダー モデルのコンパイルにおける制限を参照してください。 |
/nologo | 著作権に関するメッセージを非表示にします。 |
/Od | 最適化を無効にします。 |
/Op | プレシェーダーを無効にします。 |
/O0、/O1、/02、/03 | 最適化レベルです。O1 がデフォルトの設定です。
|
/Vd | 検証を無効にします。 |
/Vi | インクルード プロセスに関する詳細を表示します。 |
/Vn <名前> | name をヘッダー ファイル内で変数名として使用します。 |
/Zi | デバッグ情報を有効にします。 |
/Zpc | 行列を列優先でパックします。 |
/Zpr | 行列を行優先でパックします。 |
- Filename
[in] シェーダー (複数可)、エフェクト (複数可)、または両方を含むファイルです。
プロファイル
各シェーダー モデルは、HLSL プロファイルでラベル付けされます。特定のシェーダー モデルと照合してシェーダーをコンパイルするには、次の表から適切なシェーダー プロファイルを選択します。
シェーダー タイプ | プロファイル |
---|---|
頂点シェーダー | vs_1_1、vs_2_0、vs_2_a、vs_2_sw、vs_3_0、vs_3_sw、vs_4_0、vs_4_1 |
ピクセル シェーダー | ps_2_0、ps_2_a、ps_2_b、ps_2_sw、ps_3_0、ps_3_sw、ps_4_0、ps_4_1 |
テクスチャー シェーダー | tx_1_0 |
ジオメトリ シェーダー | gs_4_0、gs_4_1 |
エフェクト (頂点、ピクセル、およびジオメトリ シェーダーを任意に組み合わせて含めることが可能です) | fx_2_0、fx_4_0、fx_4_1 |
Direct3D 10 では、API の D3D10GetVertexShaderProfile、D3D10GetPixelShaderProfile、および D3D10GetGeometryShaderProfile という関数を呼び出して、特定のデバイスに最も適した頂点シェーダー プロフィール、ジオメトリ シェーダー プロフィール、およびピクセル シェーダー プロフィールを取得します。
Direct3D 9 では、GetDeviceCaps メソッドまたは GetDeviceCaps メソッドを使用して、デバイスでサポートされている頂点シェーダー プロフィールとピクセル シェーダー プロフィールを取得します。これらのメソッドによって返される D3DCAPS9 構造体の VertexShaderVersion メンバーと PixelShaderVersion メンバーはそれぞれ、デバイスでサポートされている頂点シェーダー プロフィールとピクセル シェーダー プロフィールを示します。
現在のコンパイラを使用した例については、現在のコンパイラに関する説明を参照してください。古いシェーダー モデルにレガシー コンパイラを使用する場合は、レガシー コンパイラに関する説明を参照してください。
注 Vista SP1 では、TextureCubeArrays を fx_4_1 プロフィールで使用することはできません。