Fungsi XMVectorSwizzle (directxmath.h)
Menyipitkan vektor.
Sintaks
XMVECTOR XM_CALLCONV XMVectorSwizzle(
[in] FXMVECTOR V,
[in] uint32_t E0,
[in] uint32_t E1,
[in] uint32_t E2,
[in] uint32_t E3
) noexcept;
Parameter
[in] V
Vektor untuk menggeliat.
[in] E0
Indeks yang menjelaskan komponen V mana yang akan ditempatkan di komponen x vektor bergelimpangan. Nilai 0 memilih komponen x, 1 memilih komponen y, 2 memilih komponen z, dan 3 memilih w-component.
[in] E1
Indeks yang menjelaskan komponen V mana yang akan ditempatkan di komponen y dari vektor bergetar. Nilai 0 memilih komponen x, 1 memilih komponen y, 2 memilih komponen z, dan 3 memilih w-component.
[in] E2
Indeks yang menjelaskan komponen V mana yang akan ditempatkan di komponen z dari vektor berdengung. Nilai 0 memilih komponen x, 1 memilih komponen y, 2 memilih komponen z, dan 3 memilih w-component.
[in] E3
Indeks yang menjelaskan komponen V mana yang akan ditempatkan di w-component vektor bergelimpangan. Nilai 0 memilih komponen x, 1 memilih komponen y, 2 memilih komponen z, dan 3 memilih w-component.
Mengembalikan nilai
Mengembalikan XMVECTOR yang digetarkan.
Keterangan
Kode berikut menunjukkan bagaimana fungsi ini dapat digunakan.
XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );
Vektor bergetar (hasil) akan menjadi <40,0f, 40,0f, 10,0f, 30,0f>.
XM_SWIZZLE_X
, XM_SWIZZLE_Y
, XM_SWIZZLE_Z
, dan XM_SWIZZLE_W
adalah konstanta yang masing-masing mengevaluasi ke 0, 1, 2, dan 3 untuk digunakan dengan XMVectorSwizzle.
Ini identik dengan XM_PERMUTE_0X
, , XM_PERMUTE_0Y
XM_PERMUTE_0Z
, dan XM_PERMUTE_0W
.
Untuk kasus indeks konstanta (E0, E1, E2, E3), jauh lebih efisien untuk menggunakan bentuk templat 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);
Persyaratan Platform
Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.Persyaratan
Target Platform | Windows |
Header | directxmath.h (termasuk DirectXMath.h) |