Compartilhar via


Função XMStoreColor (directxpackedvector.h)

Armazena um XMVECTOR em um XMCOLOR.

Sintaxe

void XM_CALLCONV XMStoreColor(
  [out] XMCOLOR   *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. X contém o canal cor vermelha, Y contém o canal Verde, Z, Azul e W, o Alfa.

Valor retornado

Nenhum.

Comentários

A função usa um vetor, fixa-o no intervalo de 0,0f a 1,0f, converte os componentes em um formato inteiro normalizado sem sinal, empacota os componentes em um inteiro de 32 bits e grava o resultado no endereço fornecido. O componente mais significativo é gravado no segundo mais significativo oito bits do inteiro e assim por diante.

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

XMVector N;

N = saturate(V);
N = scale(N, 255.0f);
N = round(N);

pDestination->c = ((uint32_t)N.w << 24) |
                  ((uint32_t)N.x << 16) |
                  ((uint32_t)N.y << 8) |
                  ((uint32_t)N.z);

Para Direct3D 10.x e Direct3D 11, isso corresponde à ordem do componente para funções que recebem um parâmetro ColorRGBA[4] float.


 XMVECTOR Yellow = XMVectorSet( 1.0f, 1.0f, 0.0f, 1.0f );

 XMFLOAT4 clrf;
 XMStoreFloat4( &clrf, Yellow );
 pDeviceContext->ClearRenderTargetView( pRTV, (const float*)clrf );

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

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

Confira também

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