Freigeben über


XMVectorPermute-Vorlage

Permutiert die Komponenten von zwei Vektoren, um einen neuen Vektor zu erstellen.

Syntax

template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW> XMVECTOR XMVectorPermute(
  [in]  XMVECTOR V1,
  [in]  XMVECTOR V2
);

Parameter

V1

[in] Erster Vektor.

V2

[in] Zweiter Vektor.

Rückgabewert

Gibt den permutierten Vektor zurück, der sich aus der Kombination der Quellvektoren ergeben hat.

Bemerkungen

Wenn alle 4 Indizes nur auf einen einzelnen Vektor verweisen (d. h. sie befinden sich alle im Bereich 0-3 oder alle im Bereich 4-7), verwenden Sie stattdessen XMVectorSwizzle , um eine bessere Leistung zu erzielen.

Beachten Sie, dass die Bibliothek auf einigen Plattformen Vorlagenspezialisierungen verwendet, um die Leistung zu verbessern. Nicht jeder mögliche Spiegel Fall wird für diese speziellen Fälle implementiert, daher bevorzugen Sie permutes, wenn das X-Element des resultierenden Vektors aus dem V1-Parameter stammt und nicht der V2-Parameter. Verwenden Sie XMVectorPermute<0,1,4,5>(A,B); z. B. lieber mit XMVectorPermute(4,5,0,1)(B,A);.

Diese Funktion ist eine Vorlagenversion von XMVectorPermute , wobei die Permute* -Argumente Vorlagenwerte sind.

Die XM_PERMUTE_ Konstanten werden zur Verwendung als Eingabewerte für PermuteX, PermuteY, PermuteZ und PermuteW bereitgestellt.

Hinweis

Die XMVectorPermute Vorlage ist neu für DirectXMath und nicht für XNAMath 2.x verfügbar.

 

Namespace: Verwenden von DirectX

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

Anforderung Wert
Header
DirectXMath.h

Siehe auch

Vorlagenfunktionen der DirectXMath-Bibliothek

XMVectorSwizzle