次の方法で共有


texld - ps_1_4

ソース レジスタの内容をテクスチャー座標として使用してカラー データ (RGBA) をサンプリングし、それをデスティネーション レジスタにロードします。サンプリングされるテクスチャーは、デスティネーション レジスタ番号に関連付けられたテクスチャーです。

texld dst, src

レジスタ

引数 説明 レジスタ
vn cn tn rn
dst デスティネーション レジスタ。 x
src ソース レジスタ。 x
x x

ソース レジスタとして r(n) を使用する場合、直前のシェーダーのフェーズで最初の 3 要素 (XYZ) が初期化されている必要があります。

レジスタの詳細については、「ps_1_1__ps_1_2__ps_1_3__ps_1_4 レジスタ」を参照してください。

解説 

この命令では、デスティネーション レジスタ番号に関連付けられているテクスチャー ステージのテクスチャーがサンプリングされます。テクスチャーはソース レジスタのテクスチャー座標データを使用してサンプリングされます。

texld と texcrd 命令の構文では、テクスチャー レジスタ修飾子を使用した射影除算がサポートされています。ピクセル シェーダー バージョン 1.4 の場合、D3DTTFF_PROJECTED テクスチャー トランスフォーム フラグが常に無視されます。

texld を使用する際の規則を次に示します。

  1. texcrd と texld 命令内における個々の t(n) レジスタの読み取りすべてに対して、同じ .xyz または .xyw 修飾子を適用する必要があります。t(n) レジスタの読み取りに .xyw が使用されている場合、同じ t(n) レジスタに対して .xyw_dw を使用した他の読み取りを組み合わせることができます。
  2. _dz ソース修飾子は、r(n) ソース レジスタを使用した texld でのみ (つまりフェーズ 2 でのみ) 有効です。
  3. _dz ソース修飾子は、シェーダーあたり 2 回以上は使用できません。
ピクセル シェーダーのバージョン 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texld x

texld 命令を使用して、ソース テクスチャー座標データから使用される要素をある程度制御することができます。texld で使用できる構文すべてを次に示します。有効なソース レジスタ修飾子、セレクター、書き込みマスクの組み合わせもすべて示しています。

texld  r(m), t(n).xyz
// Uses xyz from t(n) to sample 1D, 2D, or 3D texture

texld  r(m), t(n)
// Same as previous

texld  r(m), t(n).xyw
// Uses xyw (skipping z) from t(n) to sample 1D, 2D or 3D texture

texld  r(m), t(n)_dw.xyw  
// Samples 1D or 2D texture at x/w, y/w from t(n). The result
// is undefined for a cube-map lookup.

texld  r(m), r(n).xyz
// Samples 1D, 2D, or 3D texture at xyz from r(m) 
// This is possible in the second phase of the shader

texld  r(m), r(n)
// Same as previous

texld  r(m), r(n)_dz.xyz
// Samples 1D or 2D texture at x/z, y/z from r(m)
// Possible only in second phase
// The result is undefined for a cube-map lookup

texld  r(n), r(n)_dz
// Same as previous