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) |