テクスチャ座標レジスタ (HLSL VS リファレンス)
この頂点シェーダー出力レジスタには、頂点ごとのテクスチャ座標が含まれています。
レジスタは、各レジスタの動作を決定するプロパティで構成されます。
プロパティ | 説明 |
---|---|
名前 | oT0 - oT7 |
Count | 8 つのベクトル |
I/O アクセス許可 | 書き込み専用 |
出力テクスチャ座標レジスタは、出力データ レジスタの配列です。 レジスタ データは反復され、テクスチャ サンプリング ステージによってテクスチャ座標として使用され、ピクセル シェーダーにデータを提供します。
テクスチャ座標レジスタに書き込む場合は、対応するテクスチャ マップの次元と同じ数の浮動小数点値のみを渡すようにすることをお勧めします。 修飾子を使用して渡される値を制御します。 たとえば、2D テクスチャ マップには .xy を使用します。
プログラム可能な頂点シェーダーを使用している場合は、固定関数の頂点パイプライン フラグ D3DTEXTURETRANSFORMFLAGS (D3DTTFF_COUNT1、D3DTTFF_COUNT2、D3DTTFF_COUNT3、D3DTTFF_COUNT4) を 0 に設定する必要があります。
オブジェクト頂点データは、入力テクスチャ座標を提供します。 タイルテクスチャを使用しないオブジェクトは、通常、範囲 [0,1] のテクスチャ座標を持ちます。 テレインなどのタイルテクスチャを使用するオブジェクトには、通常、[-n,+n] の範囲のテクスチャ座標があり、n には任意の浮動小数点数を指定できます。
テクスチャ座標補間は、ラスター化のために頂点データに対して実行されます。 ラスター化中、テクスチャ座標はオブジェクトの頂点間で補間され、テクスチャ ラップによって変更され、テクスチャ サイズ (テクスチャ アドレッシング モードも考慮) によってスケーリングされ、整数インデックスが生成されます。 その後、インデックスを使用してテクスチャ参照を実行します。 D3DCAPS9 の MaxTextureRepeat 値を使用して、テクスチャをタイル化できる回数を決定します。
例
テクスチャ座標レジスタを宣言します。
dcl_texcoord v7
頂点ごとのテクスチャ座標を出力レジスタにコピーします。
mov oT0, v7
頂点シェーダーのバージョン | 1_1 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|
テクスチャ座標レジスタ | x | x | x | x | x | x |
関連トピック