Função XMU555::XMU555(constuint8_t*,bool) (directxpackedvector.h)
Inicializa uma nova instância de XMU555 de uma matriz de três elementos int8_t
e um bool
argumento.
Esse construtor inicializa uma nova instância de XMU555 de uma matriz de três elementos int8_t
(especificando componentes x, y e z) e um <bool
argumento (especificando um w-component).
Sintaxe
void XMU555(
const uint8_t *pArray,
bool _w
) noexcept;
Parâmetros
pArray
Três matrizes de caracteres de elemento 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, 31 |
a | pArray[1] | 0, 31 |
z | pArray[2] | 0, 31 |
w | _W | 0, 1 |
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 ), 31 );
_y1=min( max( pArray[1], 0 ), 31 );
_z1=min( max( pArray[2], 0 ), 31 );
_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 |