Compartilhar via


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

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

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

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

Sintaxe

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

Retornar valor

Nenhum

Comentários

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

Componente vetor Elemento Array Intervalo Descrição
x pArray[0] 0.0, 1.0 Durante a instanciação, pArray[0] é fixado entre 0 e 1, multiplicado por 1023,0f e atribuído a x.
s pArray[1] 0.0, 1.0 Durante a instanciação, pArray[1] é fixado entre 0 e 1, multiplicado por 1023,0f e atribuído a y.
z pArray[2] 0.0, 1.0 Durante a instanciação, pArray[2] é fixado entre 0 e 1, multiplicado por 1023,0f e atribuído a z.
w pArray[3] 0.0, 1.0 Durante a instanciação, pArray[3] é fixado entre 0 e 1 e, em seguida, atribuído a w. Esse argumento deve estar entre 0,0 e 1,0; durante a instanciação de uma instância de XMUDECN4, ela é multiplicada por 3,0f e, em seguida, armazenada como o membro w da estrutura.
XMUDECN4 instance;
_x1=min( max( pArray[0], 0.0 ), 1.0 );
_y1=min( max( pArray[1], 0.0 ), 1.0 );
_z1=min( max( pArray[2], 0.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x = round( _x *  1023.0f);
_y = round( _y *  1023.0f);
_z = round( _z *  1023.0f);
_w = round( _w *  3.0f);

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

XMUDECN4

Construtores XMUDECN4