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 de XMBYTEN4
quatro float
argumentos.
Esse construtor inicializa uma nova instância de XMBYTEN4 de quatro float
argumentos.
Sintaxe
void XMBYTEN4(
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 -1.0 e 1.0. Durante a instanciação de uma instância de XMBYTEN4
, ela é multiplicada por 127.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 XMBYTEN4
Esse argumento deve estar entre -1.0 e 1.0. Durante a instanciação de uma instância do XMBYTEN4
, ela é multiplicada por 127.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 XMBYTEN4
Esse argumento deve estar entre -1.0 e 1.0. Durante a instanciação de uma instância de XMBYTEN4
, ela é multiplicada por 127.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 XMBYTEN4
Esse argumento deve estar entre -1.0 e 1.0. Durante a instanciação de uma instância de XMBYTEN4
, ela é multiplicada por 127.0f
e, em seguida, armazenada como o membro w da estrutura.
Retornar valor
Nenhum
Comentários
A magnitude de cada argumento para o construtor será presa ao intervalo com suporte por um inteiro com sinal de 8 bits [-127.0, 127.0].
O pseudocódigo a XMBYTEN4
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:
XMBYTEN4 instance;
_x1=min( max( _x, -1.0 ), 1.0 );
_y1=min( max( _y, -1.0 ), 1.0 );
_z1=min( max( _z, -1.0 ), 1.0 );
_w1=min( max( _w, -1.0 ), 1.0 );
_x1 = round( _x1 * 127.0f);
_y1 = round( _y1 * 127.0f);
_z1 = round( _z1 * 127.0f);
_w1 = round( _w1 * 127.0f);
instance.x = (int8_t)_x1;
instance.y = (int8_t)_y1;
instance.z = (int8_t)_z1;
instance.w = (int8_t)_w1;
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | directxpackedvector.h |
Confira também
Referência