dcl_input (sm4 - asm)

シェーダー入力レジスタを宣言します。

dcl_input vN[.mask][, interpolationMode]
Item 説明
vN
[入力]頂点データ レジスタ。
  • N は、レジスタ番号を識別する整数です。
  • [.mask] は、使用するレジスタ コンポーネントのどれを指定するオプションのコンポーネント マスク (.xyzw) です。
interpolationMode
[in] オプション。 補間モード。ピクセル シェーダー入力レジスタでのみ使用されます。 次のいずれかの値を指定できます。
  • constant - レジスタ値間を補間しないでください。
  • linear - レジスタ値間を線形補間します。
  • linearCentroid - マルチサンプリング時に固定された線形の重心と同じです。
  • linearNoperspective - 線形と同じですが、パースペクティブ補正はありません。
  • linearNoperspectiveCentroid - マルチサンプリング時にリニア、重心クランプと同じ、遠近補正なし。

補間に関する注意事項

既定では、マルチサンプルアンチエイリアシングを実行すると、頂点属性がピクセル中心から補間されます。 ピクセルの中心がカバーされていない場合、補間の前に属性がピクセル中心に外挿されます。

完全にカバーされていないピクセル、またはピクセルの中心をカバーしない属性の場合は、ピクセルのカバーされた領域内のどこかで強制的にサンプリングを実行する重心サンプリングを指定できます。 重心が計算される前にサンプル マスク (使用されている場合) が適用されるため、サンプル マスクによってマスクされたサンプル位置は重心の位置として選択できません。

この命令は、次のシェーダー ステージに適用されます。

頂点シェーダー ジオメトリ シェーダー ピクセル シェーダー
x x x

入力をシステム値として識別するには、 dcl_input_sv (sm4 - asm) を使用します。

この命令は、アセンブリ内のシェーダーのデバッグに役立つよう含まれています。シェーダー モデル 4 を使用してアセンブリ言語でシェーダーを作成することはできません。

次に例をいくつか示します。

dcl_input v3.xyz

dcl_input v0.x, linearCentroid

最小シェーダー モデル

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

シェーダー モデル サポートされています
シェーダー モデル 5 はい
シェーダー モデル 4.1 はい
シェーダー モデル 4 はい
シェーダー モデル 3 (DirectX HLSL)
シェーダー モデル 2 (DirectX HLSL)
シェーダー モデル 1 (DirectX HLSL)

シェーダー モデル 4 アセンブリ (DirectX HLSL)