Compartilhar via


Função XMU555::XMU555(constfloat*,bool) (directxpackedvector.h)

Inicializa uma nova instância de XMU555 de uma matriz de três elementos float e um bool argumento.

Esse construtor inicializa uma nova instância de XMU555 de uma matriz de três elementos float (especificando componentes x, y e z) e um bool argumento (especificando um w-component).

Nota Isso só está disponível para desenvolvimento baseado em C++.

Sintaxe

void XMU555(
  const float *pArray,
  bool        _w
) noexcept;

Parâmetros

pArray

Matriz de ponto flutuante de três elementos que contém os valores usados para inicializar os componentes x, y e z de uma nova instância do XMU555.

_w

O valor do componente w da instância.

Valor retornado

Nenhum

Comentários

Os elementos de matriz e o argumento _w são mapeados para os componentes vetoriais de uma nova instância do XMU555 da seguinte maneira:

Membro XMU555 Argumento Intervalo
x pArray[0] 0.0, 31.0
a pArray[1] 0.0, 31.0
z pArray[2] 0.0, 31.0
w _W 0.0, 1.0

Os argumentos para os construtores serão fixados no intervalo permitido antes da atribuição ao membro apropriado do XMU555.

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

XMU555 instance;
_x1=min( max( pArray[0], 0.0 ), 31.0 );
_y1=min( max( pArray[1], 0.0 ), 31.0 );
_z1=min( max( pArray[2], 0.0 ), 31.0 );
_w1=min( max( _w, 0 ), 1 );

instance.v =  (((uint16_t)_w1 ? 0x8000 : 0) |
              (((uint16_t)_z1 & 0x1F) << 10) |
              (((uint16_t)_y1 & 0x1F) << 5) |  
              (((uint16_t)_x1 & 0x1F)));

Requisitos

   
Plataforma de Destino Windows
Cabeçalho directxpackedvector.h

Confira também

XMU555

Construtores XMU555