Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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_Zund 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_0Zund 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) |