Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 .
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 |