Compartilhar via


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

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

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

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

Sintaxe

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

Retornar valor

Nenhum

Comentários

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

Componente vetor Elemento Array Intervalo Descrição
x pArray[0] -1.0, 1.0 Durante a instanciação, pArray[0] é fixado entre -1 e 1, multiplicado por 511,0f e atribuído a x.
s pArray[1] -1.0, 1.0 Durante a instanciação, pArray[1] é fixado entre -1 e 1, multiplicado por 511,0f e atribuído a y.
z pArray[2] -1.0, 1.0 Durante a instanciação, pArray[2] é fixado entre -1 e 1, multiplicado por 511,0f e atribuído a z.
w pArray[3] -1.0, 1.0 Durante a instanciação, pArray[3] é fixado entre -1 e 1 e, em seguida, atribuído a w.
XMDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );
_x1 = round( _x1 *  511.0f);
_y1 = round( _y1 *  511.0f);
_z1 = round( _z1 *  511.0f);

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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho directxpackedvector.h

Confira também

XMDECN4

Construtores XMDECN4