Função XMUDEC4::XMUDEC4(constfloat*) (directxpackedvector.h)
Inicializa uma nova instância de XMUDEC4 de um argumento de matriz de quatro elementos float
.
Esse construtor inicializa uma nova instância de XMUDEC4 de um argumento de matriz de quatro elementos float
.
Sintaxe
void XMUDEC4(
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 do XMUDEC4.
Retornar valor
Nenhum
Comentários
Como XMUDEC4 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 do XMUDEC4 da seguinte maneira:
Membro XMUDEC4 | Elemento Array | Intervalo |
---|---|---|
x | pArray[0] | -0.0, 1023.0 |
s | pArray[1] | -0.0, 1023.0 |
z | pArray[2] | -0.0, 1023.0 |
w | pArray[3] | 0, 3 |
Os elementos de pArray serão fixados no intervalo permitido antes da atribuição ao membro apropriado do XMUDEC4.
O pseudocódigo a seguir demonstra a operação desse construtor, que aproveita a união dos quatro componentes do vetor XMUDEC4 com uma instância de uint32_t na definição da estrutura:
XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );
instance.v = ( (uint32_t)_w1 << 30) |
(((uint32_t)_z1 & 0x3FF) << 20) |
(((uint32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | directxpackedvector.h |