estrutura XMFLOAT3SE (directxpackedvector.h)
Descreve um vetor 3D de três componentes de ponto flutuante com mantissas de 9 bits, cada um compartilhando o mesmo expoente de 5 bits.
Para obter uma lista de funcionalidades adicionais, como construtores e operadores que estão disponíveis usando XMFLOAT3SE
quando você está programando no C++, consulte extensões XMFLOAT3SE.
Sintaxe
struct XMFLOAT3SE {
union {
struct {
uint32_t xm : 9;
uint32_t ym : 9;
uint32_t zm : 9;
uint32_t e : 5;
};
uint32_t v;
};
void XMFLOAT3SE();
void XMFLOAT3SE(
const XMFLOAT3SE & unnamedParam1
);
XMFLOAT3SE & operator=(
const XMFLOAT3SE & unnamedParam1
);
void XMFLOAT3SE(
XMFLOAT3SE && unnamedParam1
);
XMFLOAT3SE & operator=(
XMFLOAT3SE && unnamedParam1
);
void XMFLOAT3SE(
uint32_t Packed
) noexcept;
void XMFLOAT3SE(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3SE(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3SE & operator=(
uint32_t Packed
) noexcept;
};
Membros
9 xm
O componente x de 9 bits.
9 ym
O componente y de 9 bits.
9 zm
O componente z de 9 bits.
5 e
O expoente compartilhado de 5 bits.
v
Inteiro de 32 bits sem sinal que representa o vetor 3D.
Construtor padrão para XMFLOAT3SE
.
Construtor padrão para XMFLOAT3SE.
void XMFLOAT3SE( const XMFLOAT3SE & unnamedParam1)
Um construtor para XMFLOAT3SE
.
Um construtor para XMFLOAT3SE.
XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)
void XMFLOAT3SE( XMFLOAT3SE && unnamedParam1)
Um construtor para XMFLOAT3SE
.
Um construtor para XMFLOAT3SE.
XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)
void XMFLOAT3SE( uint32_t Packed) noexcept
Inicializa uma nova instância de de XMFLOAT3SE
uma uint32_t
variável que contém dados de componente em um formato empacotado.
Esse construtor inicializa uma nova instância de XMFLOAT3SE de uma uint32_t
variável que contém dados de componente em um formato empacotado.
void XMFLOAT3SE( float _x, float _y, float _z) noexcept
Inicializa uma nova instância de de XMFLOAT3SE
três float
argumentos.
Esse construtor inicializa uma nova instância de XMFLOAT3SE de três float
argumentos.
void XMFLOAT3SE( const float *pArray) noexcept
Inicializa uma nova instância de XMFLOAT3SE de um argumento de matriz de três elementos float
.
Esse construtor inicializa uma nova instância de XMFLOAT3SE de um de um argumento de matriz float de três elementos.
operador void uint32_t() noexcept
Retorna uma instância de uint32_t
que contém os componentes da XMFLOAT3SE
instância em um formato empacotado.
Esse operador retorna uma instância de uint32_t
que contém os componentes da instância XMFLOAT3SE em um formato empacotado.
XMFLOAT3SE & operator=( uint32_t Packed) noexcept
Esse operador atribui os dados do componente vetor empacotados em uma instância do uint32_t
à instância atual do XMFLOAT3SE.
Comentários
Os valores dos três componentes de uma instância de XMFLOAT3SE
são armazenados no v da instância no seguinte formato: o membro e da XMFLOAT3SE
estrutura – o expoente compartilhado pelas mantissas dos valores de ponto flutuante dos três componentes de XMFLOAT3SE
– é armazenado nos bits de ordem mais alta do valor retornado e a mantissa do componente x armazenado nos bits menos significativos.
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
Ou em detalhes:
- Os bits 0-8 de Packed são a mantissa de 9 bits do valor de ponto flutuante do componente x : o membro xm da estrutura atual.
- Os bits 9-17 de Packed são a mantissa de 9 bits do valor de ponto flutuante do componente y : o membro ym da estrutura atual.
- Os bits 18-26 de Packed são a mantissa de 9 bits do valor de ponto flutuante do componente z : o membro zm da estrutura atual.
- Os bits 27-31 de Packed são o expoente de 5 bits usado com as mantissas armazenadas (xm, ym, zm) para representar o tamanho de cada componente: o membro e da estrutura atual.
XMFLOAT3SE
estrutura, todos os valores de componente são positivos.
XMFLOAT3SE
pode ser carregado em instâncias de XMVECTOR usando XMLoadFloat3SE.
As instâncias de XMVECTOR
podem ser armazenadas em uma instância do XMFLOAT3SE
com XMStoreFloat3SE.
Namespace: Usar DirectX::P ackedVector
Requisitos de plataforma
Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 com o SDK do Windows para Windows 8. Com suporte para aplicativos da área de trabalho Win32, aplicativos da Windows Store e aplicativos Windows Phone 8.Requisitos
Cabeçalho | directxpackedvector.h |