Partager via


Fonction XMVectorSwizzle (directxmath.h)

Fait pivoter un vecteur.

Syntaxe

XMVECTOR XM_CALLCONV XMVectorSwizzle(
  [in] FXMVECTOR V,
  [in] uint32_t  E0,
  [in] uint32_t  E1,
  [in] uint32_t  E2,
  [in] uint32_t  E3
) noexcept;

Paramètres

[in] V

Vecteur à swizzle.

[in] E0

Index qui décrit le composant de V à placer dans le composant x du vecteur swizzled. La valeur 0 sélectionne le composant x, 1 le composant y, 2 le composant z et 3 le composant w.

[in] E1

Index qui décrit le composant de V à placer dans le composant y du vecteur swizzled. La valeur 0 sélectionne le composant x, 1 le composant y, 2 le composant z et 3 le composant w.

[in] E2

Index qui décrit le composant de V à placer dans le composant z du vecteur swizzled. La valeur 0 sélectionne le composant x, 1 le composant y, 2 le composant z et 3 le composant w.

[in] E3

Index qui décrit le composant de V à placer dans le composant w du vecteur swizzled. La valeur 0 sélectionne le composant x, 1 le composant y, 2 le composant z et 3 le composant w.

Valeur retournée

Retourne le XMVECTOR swizzled.

Notes

Le code suivant montre comment cette fonction peut être utilisée.

XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );

Le vecteur swizzled (résultat) sera <40.0f, 40.0f, 10.0f, 30.0f>.

XM_SWIZZLE_X, XM_SWIZZLE_Y, XM_SWIZZLE_Zet XM_SWIZZLE_W sont des constantes qui sont évaluées à 0, 1, 2 et 3 respectivement pour une utilisation avec XMVectorSwizzle. Il est identique à XM_PERMUTE_0X, XM_PERMUTE_0Y, XM_PERMUTE_0Zet XM_PERMUTE_0W.

Pour le cas des index constants (E0, E1, E2, E3), il est beaucoup plus efficace d’utiliser la forme de modèle de XMVectorSwizzle :


template<uint32_t SwizzleX, uint32_t SwizzleY, uint32_t SwizzleZ, uint32_t SwizzleW>
    XMVECTOR XMVectorSwizzle(FXMVECTOR V)

Example: XMVectorSwizzle< 3, 3, 0, 2>(v);
   

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.

Spécifications

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

Voir aussi

Fonctions vectorielles basées sur les composants

XMVectorPermute