入力レジスタ

頂点シェーダー入力レジスタ。

各頂点からのデータ (1 つ以上の入力頂点ストリームを使用) は、頂点シェーダーが実行される前に頂点入力レジスタに読み込まれます。 入力レジスタは、v0 から v15 として指定された 16 個の 4 成分浮動小数点ベクトルで構成されます。 これらのレジスタは読み取り専用です。 入力レジスタは、頂点宣言を介して頂点データにバインドされます。

次のレジスタ プロパティは、各レジスタの動作を制御します。

プロパティ 説明
名前 v[n] - n は省略可能なレジスタ番号です。 0 は、省略した場合に使用される既定値です。
Count 最大 16 個のレジスタ、v0 - v15。
I/O アクセス許可 読み取り専用です。 このレジスタは、API またはシェーダー内では記述できません。
ポートの読み取り 1. これは、1 つの命令内でレジスタを読み取ることができる回数です。 以下を参照してください。

 

1 つの命令でアクセスできる頂点入力レジスタは 1 つだけです。 ただし、命令内の各ソースは、読み取り時にそのベクトルを個別にスウィズルして否定できます。

頂点宣言を使用して 2D 頂点位置データをバインドして v0 を登録する例を次に示します。

頂点宣言は、アプリケーションに属しています。

D3DVERTEXELEMENT9 decl[] =
{
    { 0, 0, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
      D3DDECL_END()
};

対応する頂点シェーダー宣言を次に示します。

dcl_position v0
頂点シェーダーのバージョン 1_1 2_0 2_sw 2_x 3_0 3_sw
Position Register x x x x x x

 

頂点シェーダー レジスタ