Partager via


Fonction XMVectorPermute (directxmath.h)

Permute les composants de deux vecteurs pour créer un nouveau vecteur.

Syntaxe

XMVECTOR XM_CALLCONV XMVectorPermute(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
       uint32_t  PermuteX,
       uint32_t  PermuteY,
       uint32_t  PermuteZ,
       uint32_t  PermuteW
) noexcept;

Paramètres

[in] V1

Premier vecteur.

[in] V2

Deuxième vecteur.

PermuteX

Formulaire d’index 0-7 indiquant d’où doit être copié le composant X du nouveau vecteur.

PermuteY

Formulaire d’index 0-7 indiquant d’où doit être copié le composant Y du nouveau vecteur.

PermuteZ

Formulaire d’index 0-7 indiquant d’où doit être copié le composant Z du nouveau vecteur.

PermuteW

Formulaire d’index 0-7 indiquant d’où doit être copié le composant W du nouveau vecteur.

Valeur retournée

Retourne le vecteur permuté résultant de la combinaison des vecteurs sources.

Remarques

Si les 4 index font référence à un seul vecteur (c’est-à-dire qu’ils se trouvent tous dans la plage 0-3 ou tous dans la plage 4-7), utilisez XMVectorSwizzle à la place pour de meilleures performances.

Les constantes XM_PERMUTE_ sont fournies pour être utilisées comme valeurs d’entrée pour PermuteX, PermuteY, PermuteZ et PermuteW.

Pour les paramètres PermuteX/Y/Z/W constants, il est beaucoup plus efficace d’utiliser la forme de modèle de XMVectorPermute :


template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW>
    XMVECTOR XMVectorPermute(FXMVECTOR V1, FXMVECTOR V2)

Example: XMVectorPermute<XM_PERMUTE_0Z, XM_PERMUTE_1X, XM_PERMUTE_0W, XM_PERMUTE_1Y>( V1, V2 );
   
Note Cette version de XMVectorPermute est nouvelle pour DirectXMath. La bibliothèque XNAMath v2.x a utilisé XMVectorPermuteControl, un contrôle XMVECTOR au lieu de 4 index pour XMVectorPermute, et utilisé différentes valeurs pour les constantes XM_PERMUTE_x.
 

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxmath.h (inclure DirectXMath.h)

Voir aussi

Fonctions vectorielles basées sur les composants

XMVectorSwizzle