Share via


texcrd - ps

ソース テクスチャ座標反復子レジスタからテクスチャ座標データをコピー先レジスタのカラー データとしてコピーします。

構文

texcrd dst, src

 

where

  • dst は宛先レジスタです。
  • src はソース レジスタです。

注釈

ピクセル シェーダーのバージョン 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texcrd x

 

この命令は、座標データをカラー データ (RGBA) として解釈します。

この命令ではテクスチャはサンプリングされません。 このテクスチャ ステージで設定されたテクスチャ座標のみが関連します。

texcrd を使用する場合は、ソース レジスタからコピー先レジスタにデータをコピーする方法について、次の詳細に注意してください。 ソース テクスチャ座標レジスタ (t#) は、範囲 [-D3DCAPS9] 内のデータを保持します。MaxTextureRepeat、D3DCAPS9。MaxTextureRepeat]。宛先レジスタ (r#) は、(小さい可能性が高い) 範囲 [-D3DCAPS9] にのみデータを保持できます。PixelShader1xMaxValue、D3DCAPS9。PixelShader1xMaxValue]。 ピクセル シェーダー バージョン 1_4 の場合、D3DCAPS9 であることに注意してください。PixelShader1xMaxValue は、8 以上である必要があります。 texcrd 命令は、変換先レジスタの範囲外のソース データをクランプする過程で、ハードウェアによって動作が異なる可能性があります。 市場の最初のピクセル シェーダー バージョン 1_4 ハードウェアは、範囲外の値に対して特別なクランプを実行します。 このクランプは、宛先レジスタに収まる数値を生成するだけでなく、データをテクスチャ サンプリングに使用する場合は、範囲外のデータのテクスチャ アドレス指定動作を保持するように設計されています ( D3DTEXTUREADDRESS を参照)。 ただし、異なる製造元の新しいハードウェアでは、この動作が発生せず、宛先レジスタの範囲に合わせてデータを切り取るだけである可能性があります。 したがって、ピクセル シェーダー バージョン 1_4 texcrd を使用する場合の最も安全な動作は、ハードウェア クランプの方法に依存しないように、既に範囲内にあるピクセル シェーダーにのみテクスチャ座標データを提供することです。

texcoord_とは異なり、texcrd は 0 から 1 の間の値をクランプしません。

texcrd を使用するための規則:

  1. texcrd 命令または texld 命令内の個々の t(n) レジスタのすべての読み取りには、同じ .xyz または .xyw 修飾子を適用する必要があります。
  2. texcrd の 4 番目のチャネルの結果は、すべてのケースで未設定/未定義です。
  3. 3 つ目のチャネルは、xyw_dwケースでは未設定/未定義です。

有効なすべてのソース修飾子/セレクターと宛先書き込みマスクの組み合わせを考慮して、texcrd に対して許可される構文の完全なセットを次に示します。 .rgba と .xyzw 表記は同じ意味で使用できることに注意してください。

テクスチャ座標反復子レジスタ t(n) の最初の 3 つのチャネルを r(m) にコピーします。 r(m) の 4 番目のチャネルは初期化されていません。

texcrd  r(m).rgb, t(n).xyz  

// Produces the same result as the previous instruction
texcrd  r(m).rgb, t(n)

t(n) の 1 番目、2 番目、および 4 番目のコンポーネントを r(m) の最初の 3 つのチャネルに配置します。 r(m) の 4 番目のチャネルは初期化されていません。

texcrd  r(m).rgb, t(n).xyw

_dw修飾子を使用した射投影除算の例を次に示します。

次の使用例は、t(n) から r(m) の最初の 2 つのチャネルに x/w と y/w をコピーします。 r(m) の 3 番目と 4 番目のチャネルは初期化されていません。 r(m) の 3 番目のチャネルに以前に書き込まれたデータはすべて失われます。 r(m) の 4 番目のチャネルのデータは、位相マーカーにより失われます。 バージョン 1_4 では、D3DTTFF_PROJECTED フラグは無視されます。

texcrd  r(m).rg,  t(n)_dw.xyw

ピクセル シェーダーの手順