XMStoreFloat3SE-Funktion (directxpackedvector.h)

Speichert einen XMVECTOR in einem XMFLOAT3SE.

Syntax

void XM_CALLCONV XMStoreFloat3SE(
  [out] XMFLOAT3SE *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 = { 65472.f, 65427.f, 65427.f, 0 };
  N = XMVectorClamp(V, XMVectorZero(), Max);

  uint32_t m[3], e[3];
  ConvertToFloat14( N.x, &m[0], &e[0]);
  ConvertToFloat14( N.y, &m[1], &e[1]);
  ConvertToFloat14( N.z, &m[2], &e[2]);

  uint32_t T = XMMax( e[0], XMMax( e[1], e[2] ) );

  pDestination->xm = m[0] >> (T - e[0]);
  PDestination->ym = m[1] >> (T - e[1]);
  pDestination->zm = m[2] >> (T - e[2]);
  pDestination->e = T;

Wenn die drei Komponenten in ihrer Größe nicht nahe beieinander liegen, wird der Exponent mit den größten Werten festgelegt, und die anderen Komponenten werden auf 0 (null) verschoben.

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