Compartilhar via


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 .

Nota Esse construtor só está disponível em C++.

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

Confira também

XMUDEC4

Construtores XMUDEC4