tex1Dgrad (DirectX HLSL)

ミップ レベルを選択するためにグラデーションを使用して、1D テクスチャーをサンプリングします。

ret tex1Dgrad(s, t, ddx, ddy)

パラメーター

  • s
    [in] サンプラー ステート。
  • t
    [in] テクスチャー座標。
  • ddx
    [in] サーフェイス ジオメトリの x 方向の変化割合です。
  • ddx
    [in] サーフェイス ジオメトリの y 方向の変化割合です。

戻り値

テクスチャー データの値。

型の説明

名前 入力/出力 テンプレートの型 成分の型 サイズ
s 入力 オブジェクト sampler1D 1
t 入力 vector float 1
ddx 入力 vector float 1
ddy 入力 vector float 1
ret 出力 vector float 4

最低限必要なシェーダー モデル

この関数は、次のシェーダー モデルでサポートされています。

シェーダー モデル サポート
シェーダー モデル 4 ○ (ピクセル シェーダーのみ)
シェーダー モデル 3 (DirectX HLSL) ○1 (ピクセル シェーダーのみ)
シェーダー モデル 2 (DirectX HLSL) ○2 (ピクセル シェーダーのみ)
シェーダー モデル 1 (DirectX HLSL) ×
  1. グラデーションの計算がフロー制御の外側で行われるように、大幅にコードの順序が変更されます。
  2. D3DPSHADERCAPS2_0 の能力が D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS で設定されている場合、この関数はコンパイラによって texldd にマップされます。

解説

シェーダーでフロー制御を扱っている場合、所定の分岐パス内で要求されたグラデーション計算の結果は、隣接ピクセルが別のフロー制御パスをたどる可能性がある場合は、あいまいになります。そのため、あるプリミティブをラスター化する際にピクセル間でまたがった可能性のあるフロー制御構造の中で、ピクセル シェーダー処理を使用してグラデーションの計算の実行を要求することは不当と見なされます。分岐属性を持つ if ステートメントのどちらかの側でグラデーション関数を使用している場合は、コンパイラ エラーが発生する可能性があります。「if ステートメント (DirectX HLSL)」を参照してください。

関連項目

組み込み関数 (DirectX HLSL)