Função XMUDECN4::XMUDECN4(float,float,float,float) (directxpackedvector.h)
Esse construtor inicializa uma nova instância de XMUDECN4 de quatro argumentos normalizados float
.
Sintaxe
void XMUDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
Parâmetros
_x
Um valor normalizado para a coordenada x do vetor.
Esse argumento deve estar entre 0.0 e 1.0; durante a instanciação de uma instância de XMUDECN4
, ela é multiplicada por 1023.0f
e, em seguida, armazenada como o membro x da estrutura.
_y
Um valor normalizado para a coordenada y do vetor, o y da nova instância de XMUDECN4
.
Esse argumento deve estar entre 0.0 e 1.0; durante a instanciação de uma instância de XMUDECN4
, ela é multiplicada por 1023.0f
e, em seguida, armazenada como o membro y da estrutura.
_z
Um valor normalizado para a coordenada z do vetor, o z da nova instância de XMUDECN4
.
Esse argumento deve estar entre 0.0 e 1.0; durante a instanciação de uma instância de XMUDECN4
, ela é multiplicada por 1023.0f
e, em seguida, armazenada como o membro z da estrutura.
_w
Um valor normalizado para a coordenada w do vetor, o w da nova instância de XMUDECN4
.
Esse argumento deve estar entre -1.0 e 1.0; durante a instanciação de uma instância de XMCOLOR, ela é multiplicada por 3.0f
e, em seguida, armazenada como o membro w da estrutura.
Valor retornado
Nenhum
Comentários
Todos os valores de entrada, _x, _y, _z e _w são fixados em um intervalo de -1,0 a 1,0.
O pseudocódigo a XMDECN4
seguir demonstra a operação desse construtor, que aproveita os union
quatro componentes do vetor com uma instância de uint32_t
na definição da estrutura:
XMDECN4 instance;
_x1=min( max( _x, 0.0 ), 1.0 );
_y1=min( max( _y, 0.0 ), 1.0 );
_z1=min( max( _z, 0.0 ), 1.0 );
_w1=min( max( _w, 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
Plataforma de Destino | Windows |
Cabeçalho | directxpackedvector.h |
Confira também
Referência