Função XMXDEC4::XMXDEC4(constfloat*) (directxpackedvector.h)
Inicializa uma nova instância de XMXDEC4 de um argumento de matriz de quatro elementos float
.
Esse construtor inicializa uma nova instância de XMXDEC4 de um argumento de matriz de quatro elementos float
.
Sintaxe
void XMXDEC4(
const float *pArray
) noexcept;
Parâmetros
pArray
Matriz de ponto flutuante de quatro elementos que contém os valores usados para inicializar os quatro componentes de uma nova instância de XMXDEC4.
Valor retornado
Nenhum
Comentários
Como XMXDEC4 representa um vetor inteiro de quatro componentes, a parte fracionária de um elemento de pArray será truncada.
Os elementos de matriz são mapeados para os componentes vetoriais de uma nova instância de XMXDEC4 da seguinte maneira:
Membro XMXDEC4 | Elemento Array | Intervalo |
---|---|---|
x | pArray[0] | -511, 511 |
a | pArray[1] | -511, 511 |
z | pArray[2] | -511, 511 |
w | pArray[3] | 0, 3 |
Os elementos de pArray serão fixados no intervalo permitido antes da atribuição ao membro apropriado do XMXDEC4.
O pseudocódigo a seguir demonstra a operação desse construtor, que aproveita a união dos quatro componentes do vetor XMXDEC4 com uma instância de uint32_t na definição da estrutura:
XMXDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | directxpackedvector.h |