Compartilhar via


Função XMDEC4::XMDEC4(constfloat*) (directxpackedvector.h)

Inicializa uma nova instância de XMDEC4 de um argumento de matriz de quatro elementos float .

Esse construtor inicializa uma nova instância de XMDEC4 de um de um argumento de matriz float de quatro elementos.

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

Sintaxe

void XMDEC4(
  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 XMDEC4.

Valor retornado

Nenhum

Comentários

Como XMDEC4 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 XMDEC4 da seguinte maneira:

Componente vetor Elemento Array Intervalo
x pArray[0] -511, 511
a pArray[1] -511, 511
z pArray[2] -511, 511
w pArray[3] -1, 1

Elementos de pArray serão fixados no intervalo permitido antes da atribuição ao membro apropriado de XMDEC4.

O pseudocódigo a seguir demonstra a operação desse construtor, que aproveita a união dos quatro componentes do vetor XMDEC4 com uma instância de uint32_t na definição da estrutura:

XMDEC4 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], -1.0 ), 1.0 );

instance.v =  ( (int32_t)_w1 << 30) |
              (((int32_t)_z1 & 0x3FF) << 20) |
              (((int32_t)_y1 & 0x3FF) << 10) |
              (((int32_t)_x1 & 0x3FF));

Requisitos

   
Plataforma de Destino Windows
Cabeçalho directxpackedvector.h

Confira também

XMDEC4

Construtores XMDEC4