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