D3D10_SHADER定数

HLSL コンパイル オプション。

#define 説明
D3D10_SHADER_AVOID_FLOW_CONTROL フロー制御を許可しないようにコンパイラに指示します (可能な場合)。
D3D10_SHADER_DEBUG デバッグ ファイル/行/種類/シンボル情報を挿入します。
D3D10_SHADER_ENABLE_STRICTNESS 既定では、HLSL コンパイラは、非推奨の構文の厳密さを無効にします。 このフラグを指定すると、従来の構文を許可しない可能性がある厳密さが有効になります。
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY これにより、古いシェーダーを 4_0 ターゲットにコンパイルできます。
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT 次に高いシェーダー プロファイルを得るための頂点シェーダーをコンパイルします。 このオプションを選択すると、デバッグがオンになります (最適化はオフになります)。
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT 次に高いシェーダー プロファイルを得るためのピクセル シェーダーをコンパイルします。 このオプションを選択すると、デバッグがオンになります (最適化はオフになります)。
D3D10_SHADER_IEEE_STRICTNESS IEEE の厳格さを有効にします。
D3D10_SHADER_NO_PRESHADER プリシェードを無効にします。 このフラグを使用すると、コンパイラは評価のために静的な式を取り出しません。
D3D10_SHADER_OPTIMIZATION_LEVEL0 最適化レベルが最も低い。 より低速なコードが生成される場合がありますが、より迅速に行います。 これは、非常に反復的なシェーダー開発サイクルで役立つ場合があります。
D3D10_SHADER_OPTIMIZATION_LEVEL1 2 番目に低い最適化レベル。
D3D10_SHADER_OPTIMIZATION_LEVEL2 2 番目に高い最適化レベル。
D3D10_SHADER_OPTIMIZATION_LEVEL3 最高の最適化レベル。 可能な限り最適なコードが生成されますが、それには大幅に時間がかかる場合があります。 これは、パフォーマンスが最も重要な要素であるアプリケーションの最終的なビルドに役立ちます。
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR 明示的に指定しない限り、マトリックスはシェーダーからの入力と出力で行メジャー順にパックされます。
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR 明示的に指定しない限り、マトリックスはシェーダーからの入力と出力の列メジャー順にパックされます。 これは一般的に、一連のドット積を使用してベクター行列乗算を実行できるため、より効率的です。
D3D10_SHADER_PARTIAL_PRECISION すべての計算を部分的な精度で強制的に実行します。これは、一部のハードウェアで高速に実行される場合があります。
D3D10_SHADER_PREFER_FLOW_CONTROL フロー制御を使用するようにコンパイラに指示します (可能な場合)。
D3D10_SHADER_SKIP_OPTIMIZATION コード生成中に最適化をスキップします。一般に、デバッグのみに推奨されます。
D3D10_SHADER_SKIP_VALIDATION 生成されたコードを既知の機能と制約に照らして検証しないでください。 これは、過去に正常にコンパイルされたシェーダーでのみ使用します。 シェーダーは、デバイスに設定される前に常に DirectX によって検証されます。
D3D10_SHADER_WARNINGS_ARE_ERRORS シェーダー コードのコンパイル時にすべての警告をエラーとして扱うように HLSL コンパイラに通知します。 新しいシェーダー コードの場合は、すべての警告を解決し、見つけにくいコードの欠陥を最も少なくするために、このオプションを使用する必要があります。

 

これらの定数は、d3d10shader.h のマクロとして定義されます。

シェーダー定数