Bagikan melalui


Fungsi XMStoreShort4 (directxpackedvector.h)

Menyimpan XMVECTOR dalam XMSHORT4.

Sintaks

void XM_CALLCONV XMStoreShort4(
  [out] XMSHORT4  *pDestination,
  [in]  FXMVECTOR V
) noexcept;

Parameter

[out] pDestination

Alamat untuk menyimpan data.

[in] V

Vektor yang berisi data untuk disimpan.

Nilai kembali

Tidak ada.

Keterangan

Fungsi ini mengambil vektor, menjepitnya ke rentang -32767.0f hingga 32767.0f, mengonversi komponen menjadi format bilangan bulat yang ditandatangani, dinormalisasi, dan menulis hasilnya ke empat nilai bilangan bulat pendek pada alamat yang diberikan. Komponen yang paling signifikan ditulis ke dua byte pertama alamat, komponen paling signifikan berikutnya ditulis ke dua byte alamat berikutnya, dan sebagainya.

Pseudocode berikut menunjukkan pengoperasian fungsi.

static const XMVECTOR  Min = {-32767.0f, -32767.0f, -32767.0f, -32767.0f};
static const XMVECTOR  Max = {32767.0f, 32767.0f, 32767.0f, 32767.0f};
XMVECTOR               N;
N = XMVectorClamp(V, Min, Max);
N = XMVectorRound(N);

pDestination->x = (int16_t)N.x; // 2 bytes to address pDestination
pDestination->y = (int16_t)N.y; // 2 bytes to address (uint8_t*)pDestination + 2
pDestination->z = (int16_t)N.z; // 2 bytes to address (uint8_t*)pDestination + 4
pDestination->w = (int16_t)N.w; // 2 bytes to address (uint8_t*)pDestination + 6

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

Persyaratan Nilai
Target Platform Windows
Header directxpackedvector.h (termasuk DirectXPackedVector.h)

Lihat juga

Fungsi Penyimpanan Vektor Pustaka DirectXMath