構文

ここでは、エフェクト コンパイラ ツールの 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 がデフォルトの設定です。
  • O0 - 命令の順序変更を無効にします。これにより、レジスタの負荷が軽減されると共に、より高速なループ シミュレーションが可能になります。
  • O1 - ps_3_0 以上について命令の順序変更を無効にします。
  • O2 - O1 と同じです。将来の使用に備えて予約されたメンバー変数です。
  • O3 - 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 の D3D10GetVertexShaderProfileD3D10GetPixelShaderProfile、および D3D10GetGeometryShaderProfile という関数を呼び出して、特定のデバイスに最も適した頂点シェーダー プロフィール、ジオメトリ シェーダー プロフィール、およびピクセル シェーダー プロフィールを取得します。

Direct3D 9 では、GetDeviceCaps メソッドまたは GetDeviceCaps メソッドを使用して、デバイスでサポートされている頂点シェーダー プロフィールとピクセル シェーダー プロフィールを取得します。これらのメソッドによって返される D3DCAPS9 構造体の VertexShaderVersion メンバーと PixelShaderVersion メンバーはそれぞれ、デバイスでサポートされている頂点シェーダー プロフィールとピクセル シェーダー プロフィールを示します。

現在のコンパイラを使用した例については、現在のコンパイラに関する説明を参照してください。古いシェーダー モデルにレガシー コンパイラを使用する場合は、レガシー コンパイラに関する説明を参照してください。

    Vista SP1 では、TextureCubeArrays を fx_4_1 プロフィールで使用することはできません。

関連項目

エフェクト コンパイラ ツール