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_0Z
e 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) |