Partager via


Fonction XMStoreFloat3SE (directxpackedvector.h)

Stocke un XMVECTOR dans un XMFLOAT3SE.

Syntaxe

void XM_CALLCONV XMStoreFloat3SE(
  [out] XMFLOAT3SE *pDestination,
  [in]  FXMVECTOR  V
) noexcept;

Paramètres

[out] pDestination

Adresse à laquelle stocker les données.

[in] V

Vecteur contenant les données à stocker.

Valeur retournée

Aucun.

Notes

Le pseudocode suivant illustre le fonctionnement de la fonction .


  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;

Si les trois composants ne sont pas proches l’un de l’autre en grandeur, la ou les plus grandes valeurs définissent l’exposant et les autres composants sont déplacés vers zéro.

Configuration requise pour la plateforme

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le SDK Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et les applications Windows Phone 8.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxpackedvector.h (inclure DirectXPackedVector.h)

Voir aussi

Fonctions de magasin de vecteurs de bibliothèque DirectXMath