XMStoreUNibble4-Funktion (directxpackedvector.h)

Speichert einen XMVECTOR in einem XMUNIBBLE4.

Syntax

void XM_CALLCONV XMStoreUNibble4(
  [out] XMUNIBBLE4 *pDestination,
  [in]  FXMVECTOR  V
) noexcept;

Parameter

[out] pDestination

Adresse, an der die Daten gespeichert werden sollen.

[in] V

Vektor mit den zu speichernden Daten.

Rückgabewert

Keine.

Hinweise

Der folgende Pseudocode veranschaulicht den Vorgang der Funktion.


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

  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 nicht um normalisierte Werte handelt. Um in das RGBA 4/4/4/4/4-Format zu konvertieren, müssen Sie den Eingabevektor mit (15.f, 15.f, 15.f, 15.f)skalieren. Außerdem müssen Sie wahrscheinlich den Standardwert .x = RED, .y = GREEN, .z = BLUE, .w = .x- und .z-Wert des ALPHA-Farbvektors schwenken, 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

Anforderung Wert
Zielplattform Windows
Kopfzeile directxpackedvector.h (directXPackedVector.h einschließen)

Weitere Informationen

Vektorspeicherfunktionen der DirectXMath-Bibliothek