Condividi tramite


Funzione XMVectorSwizzle (directxmath.h)

Swizzles un vettore.

Sintassi

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

Parametri

[in] V

Vettore per lo scorrimento rapido.

[in] E0

Indice che descrive il componente di V da inserire nel componente x del vettore swizzled. Il valore 0 seleziona il componente x, 1 seleziona il componente y, 2 seleziona il componente z e 3 seleziona il componente w.

[in] E1

Indice che descrive il componente di V da inserire nel componente y del vettore swizzled. Il valore 0 seleziona il componente x, 1 seleziona il componente y, 2 seleziona il componente z e 3 seleziona il componente w.

[in] E2

Indice che descrive il componente di V da inserire nel componente z del vettore swizzled. Il valore 0 seleziona il componente x, 1 seleziona il componente y, 2 seleziona il componente z e 3 seleziona il componente w.

[in] E3

Indice che descrive il componente di V da inserire nel componente w del vettore swizzled. Il valore 0 seleziona il componente x, 1 seleziona il componente y, 2 seleziona il componente z e 3 seleziona il componente w.

Valore restituito

Restituisce lo swizzled XMVECTOR.

Commenti

Nel codice seguente viene illustrato come usare questa funzione.

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

Il vettore swizzled (risultato) sarà <40.0f, 40.0f, 10.0f, 30.0f>.

XM_SWIZZLE_X, XM_SWIZZLE_Y, e XM_SWIZZLE_W sono costanti che restituiscono rispettivamente 0, 1, 2 e 3 per l'uso con XMVectorSwizzle. XM_SWIZZLE_Z È identico a XM_PERMUTE_0X, XM_PERMUTE_0Y, XM_PERMUTE_0Ze XM_PERMUTE_0W.

Per il caso di indici costanti (E0, E1, E2, E3), è molto più efficiente usare la forma di modello di 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);
   

Requisiti della piattaforma

Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK per Windows 8. Supportato per le app desktop Win32, le app di Windows Store e Windows Phone 8 app.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxmath.h (include DirectXMath.h)

Vedi anche

Funzioni vettoriali a livello di componente

XMVectorPermute