texm3x2tex – ps
Führt die letzte Zeile einer 3x2-Matrix multipliziert aus und verwendet das Ergebnis für eine Textursuche. texm3x2tex muss in Verbindung mit der anweisung texm3x2pad - ps verwendet werden.
Syntax
texm3x2tex dst, src |
---|
where
- dst ist das Zielregister.
- src ist ein Quellregister.
Bemerkungen
Pixel-Shaderversionen | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
texm3x2tex | x | x | x |
Die Anweisung wird als eine von zwei Anweisungen verwendet, die einen 3x2-Matrix-Multiplikationsvorgang darstellen. Diese Anweisung muss mit der anweisung texm3x2pad - ps verwendet werden.
Wenn Sie diese beiden Anweisungen verwenden, müssen Texturregister die folgende Sequenz verwenden.
tex t(n) // Define tn as a standard 3-vector (tn must
// be defined in some way before it is used)
texm3x2pad t(m), t(n) // where m > n
// Perform first row of matrix multiply
texm3x2tex t(m+1), t(n) // Perform second row of matrix multiply
// to get (u,v) to sample texture
// associated with stage m+1
Hier finden Sie weitere Details dazu, wie die 3x2-Multiplikation erreicht wird.
Die texm3x2pad-Anweisung führt die erste Zeile des Multiplizierens aus, um u' zu finden.
u' = t(n)RGB * TextureCoordinates(stage m)UVW
Die texm3x2tex-Anweisung führt die zweite Zeile des Multiplizierens aus, um v' zu finden.
v' = t(n)RGB * TextureCoordinates(stage m+1)UVW
Die texm3x2tex-Anweisung veranschaulicht die Textur auf der Bühne (m+1) mit (u',v') und speichert das Ergebnis in t(m+1).
t(m+1)RGB = TextureSample(stage m+1)RGB using (u', v' ) as coordinates
Beispiele
Hier sehen Sie einen Beispielshader mit den Texturzuordnungen und den Texturphasen.
ps_1_1
tex t0 // Bind texture in stage 0 to register t0
texm3x2pad t1, t0 // First row of matrix multiply
texm3x2tex t2, t0 // Second row of matrix multiply to get (u,v)
// with which to sample texture in stage 2
mov r0, t2 // Output result
In diesem Beispiel sind die folgenden Texturen in den folgenden Texturstufen erforderlich.
- Phase 0 nimmt eine Karte mit Stördaten (x,y,z) auf.
- Phase 1 enthält Texturkoordinaten. In der Texturphase ist keine Textur erforderlich.
- Phase 2 enthält sowohl Texturkoordinaten als auch einen 2D-Textursatz in dieser Texturphase.
Zugehörige Themen