XMStoreShort2-Funktion (directxpackedvector.h)

Speichert einen XMVECTOR in einer XMSHORT2.

Syntax

void XM_CALLCONV XMStoreShort2(
  [out] XMSHORT2  *pDestination,
  [in]  FXMVECTOR V
) noexcept;

Parameter

[out] pDestination

Adresse, an der die Daten gespeichert werden sollen.

[in] V

Vektor, der die zu speichernden Daten enthält.

Rückgabewert

Keine.

Hinweise

Diese Funktion übernimmt einen Vektor, klemmt ihn in den Bereich -32767.0f bis 32767.0f, konvertiert die beiden wichtigsten Komponenten in ein ganzzahliges Zeichenformat und schreibt die Ergebnisse in zwei kurze ganzzahlige Werte an der angegebenen Adresse aus. Die wichtigste Komponente wird in die ersten beiden Bytes der Adresse geschrieben, und die nächst bedeutsamste Komponente wird in die nächsten beiden Bytes der Adresse geschrieben.

Der folgende Pseudocode veranschaulicht den Betrieb der Funktion.

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

Plattformanforderungen

Microsoft Visual Studio 2010 oder Microsoft Visual Studio 2012 mit dem Windows SDK für Windows 8. Unterstützt für Win32-Desktop-Apps, Windows Store-Apps und Windows Phone 8-Apps.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directxpackedvector.h (einschließlich DirectXPackedVector.h)

Weitere Informationen

Vektorspeicherfunktionen der DirectXMath-Bibliothek