Freigeben über


XMStoreU555-Funktion (directxpackedvector.h)

Speichert einen XMVECTOR in einem XMU555.

Syntax

void XM_CALLCONV XMStoreU555(
  [out] XMU555    *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

Der folgende Pseudocode veranschaulicht den Betrieb der Funktion.


  XMVECTOR N;
  static const XMVECTOR  Max = {31.f, 31.f, 31.f, 1.0f };

  N = XMVectorClamp(V, XMVectorZero, Max);
  N = XMVectorRound(N);

  pDestination->x = (int8_t)N.v[0];
  pDestination->y = (int8_t)N.v[1];
  pDestination->z = (int8_t)N.v[2];
  pDestination->w = (int8_t)N.v[3];

Beachten Sie, dass es sich hierbei nicht um normalisierte Werte handelt. Zum Konvertieren in das RGBA-Format 5/5/5/1 müssen Sie den Eingabevektor um (31.f, 31.f, 31.f, 1.f)skalieren. Außerdem müssen Sie wahrscheinlich den Standardwert .x = RED, .y = GREEN, .z = BLUE, .w = ALPHA-Farbvektor .x und .z verwenden, da das GPU-Format BGR (nicht RGB) ist.

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

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

Weitere Informationen

Vektorspeicherfunktionen der DirectXMath-Bibliothek