Função XMSHORTN4::XMSHORTN4(constfloat*) (directxpackedvector.h)
Inicializa uma nova instância do XMSHORTN4 de um argumento de matriz de quatro elementos float
.
Esse construtor inicializa uma nova instância de XMSHORTN4 de um de um argumento de matriz de quatro elementos float
.
Nota Esse construtor só está disponível em C++.
Sintaxe
void XMSHORTN4(
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 XMSHORTN4.
Valor retornado
Nenhum
Comentários
Os elementos de matriz são mapeados para os componentes vetoriais de uma nova instância do XMSHORTN4 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 32767,0f e atribuído a x. |
a | pArray[1] | -1.0, 1.0 | Durante a instanciação, pArray[1] é fixado entre -1 e 1, multiplicado por 32767,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 32767,0f e atribuído a z. |
w | pArray[3] | -1.0, 1.0 | Durante a instanciação, pArray[3] é fixado entre -1 e 1, multiplicado por 32767,0f e, em seguida, atribuído a w. |
O pseudocódigo a seguir demonstra a operação desse construtor:
XMSHORTN4 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 * 32767.0f);
_y1 = round( _y1 * 32767.0f);
_z1 = round( _z1 * 32767.0f);
_w1 = round( _w1 * 32767.0f);
instance._x = _x1;
instance._y = _y1;
instance._z = _z1;
instance._w = _w1;
Requisitos
Plataforma de Destino | Windows |
Cabeçalho | directxpackedvector.h |