XMVectorSwizzle-Funktion (directxmath.h)
Schwenkt einen Vektor.
Syntax
XMVECTOR XM_CALLCONV XMVectorSwizzle(
[in] FXMVECTOR V,
[in] uint32_t E0,
[in] uint32_t E1,
[in] uint32_t E2,
[in] uint32_t E3
) noexcept;
Parameter
[in] V
Zu schwenkende Vektor.
[in] E0
Index, der beschreibt, welche Komponente von V in der x-Komponente des geschwommenen Vektors platziert werden soll. Der Wert 0 wählt die x-Komponente, 1 die y-Komponente, 2 die z-Komponente und 3 die w-Komponente aus.
[in] E1
Index, der beschreibt, welche Komponente von V in der y-Komponente des geschwommenen Vektors platziert werden soll. Der Wert 0 wählt die x-Komponente, 1 die y-Komponente, 2 die z-Komponente und 3 die w-Komponente aus.
[in] E2
Index, der beschreibt, welche Komponente von V in der z-Komponente des geschwommenen Vektors platziert werden soll. Der Wert 0 wählt die x-Komponente, 1 die y-Komponente, 2 die z-Komponente und 3 die w-Komponente aus.
[in] E3
Index, der beschreibt, welche Komponente von V in der w-Komponente des geschwommenen Vektors platziert werden soll. Der Wert 0 wählt die x-Komponente, 1 die y-Komponente, 2 die z-Komponente und 3 die w-Komponente aus.
Rückgabewert
Gibt den geschwommenen XMVECTOR zurück.
Hinweise
Der folgende Code veranschaulicht, wie diese Funktion verwendet werden kann.
XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );
Der geschwommene Vektor (Ergebnis) ist <40.0f, 40.0f, 10.0f, 30.0f>.
XM_SWIZZLE_X
, XM_SWIZZLE_Y
, XM_SWIZZLE_Z
und XM_SWIZZLE_W
sind Konstanten, die für die Verwendung mit XMVectorSwizzle auf 0, 1, 2 und 3 ausgewertet werden.
Dies ist identisch mit XM_PERMUTE_0X
, XM_PERMUTE_0Y
, XM_PERMUTE_0Z
und XM_PERMUTE_0W
.
Bei konstanten Indizes (E0, E1, E2, E3) ist es viel effizienter, die Vorlagenform von XMVectorSwizzle zu verwenden:
template<uint32_t SwizzleX, uint32_t SwizzleY, uint32_t SwizzleZ, uint32_t SwizzleW>
XMVECTOR XMVectorSwizzle(FXMVECTOR V)
Example: XMVectorSwizzle< 3, 3, 0, 2>(v);
Plattformanforderungen
Microsoft Visual Studio 2010 oder Microsoft Visual Studio 2012 mit dem Windows SDK für Windows 8. Unterstützt für Win32-Desktop-Apps, Windows Store-Apps und Windows Phone 8-Apps.Anforderungen
Zielplattform | Windows |
Kopfzeile | directxmath.h (einschließlich DirectXMath.h) |