Compartilhar via


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 .

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

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

Confira também

XMXDEC4

Construtores XMXDEC4