入力レジスタ
頂点シェーダー入力レジスタ。
各頂点からのデータ (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 |
関連トピック