Compartilhar via


Função XMStoreFloat3SE (directxpackedvector.h)

Armazena um XMVECTOR em um XMFLOAT3SE.

Sintaxe

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

Parâmetros

[out] pDestination

Endereço no qual armazenar os dados.

[in] V

Vetor que contém os dados a serem armazenados.

Valor retornado

Nenhum.

Comentários

O pseudocódigo a seguir demonstra a operação da função .


  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;

Se os três componentes não estiverem próximos uns dos outros em magnitude, os maiores valores definirão o expoente e os outros componentes serão deslocados para zero.

Requisitos de plataforma

Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directxpackedvector.h (inclua DirectXPackedVector.h)

Confira também

Funções de repositório de vetores da biblioteca DirectXMath