texld – ps_1_4

Lädt das Zielregister mit Farbdaten (RGBA), die mithilfe des Inhalts des Quellregisters als Texturkoordinaten erfasst werden. Die Stichprobentextur ist die Textur, die der Zielregisternummer zugeordnet ist.

texld dst, src

 

Register

Wert BESCHREIBUNG vn Cn Tn Rn Pixel-Shaderversion
dst Zielregister x 1_4
src Quellregister x 1_4 Phase 1
x x 1_4 Phase

 

Bei Verwendung von r(n) als Quellregister müssen die ersten drei Komponenten (XYZ) in der vorherigen Phase des Shaders initialisiert worden sein.

Weitere Informationen zu Registern finden Sie unter ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers.

Bemerkungen

Diese Anweisung zeigt die Textur in der Texturphase, die der Zielregisternummer zugeordnet ist. Die Textur wird mithilfe von Texturkoordinatendaten aus dem Quellregister erfasst.

Die Syntax für die Anweisungen texld und texcrd macht die Unterstützung für eine projektive Teilung mit einem Texturregistermodifizierer verfügbar. Bei Pixel-Shader version 1.4 wird das Flag D3DTTFF_PROJECTED Texturtransformation immer ignoriert.

Regeln für die Verwendung von texld:

  1. Derselbe .xyz- oder .xyw-Modifizierer muss auf jeden Lesevorgang eines einzelnen t(n)-Registers innerhalb der texcrd- oder texld-Anweisungen angewendet werden. Wenn .xyw für t(n)-Registerlesevorgänge verwendet wird, kann dies mit anderen Lesevorgängen desselben t(n)-Registers mithilfe von .xyw_dw gemischt werden.
  2. Der _dz Quellmodifizierer ist nur auf texld mit r(n) Quellregister gültig (daher nur Phase 2).
  3. Der _dz Quellmodifizierer darf nicht mehr als zweimal pro Shader verwendet werden.
Pixel-Shaderversionen 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
texld x

 

Beispiele

Die texld-Anweisung bietet eine gewisse Kontrolle darüber, welche Komponenten der Quelltexturkoordinatendaten verwendet werden. Der vollständige Satz zulässiger Syntax für texld folgt und enthält alle gültigen Quellregistermodifizierer, Selektoren und Schreibmaskenkombinationen.

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

Pixel-Shaderanweisungen