estrutura XMFLOAT3PK (directxpackedvector.h)
Descreve um vetor 3D com componentes X e Y armazenados como número de ponto flutuante de 11 bits e componente Z armazenado como um valor de ponto flutuante de 10 bits.
Para obter uma lista de funcionalidades adicionais, como construtores e operadores, disponíveis usando XMFLOAT3PK
ao programar no C++, consulte XMFLOAT3PK Extensões.
Sintaxe
struct XMFLOAT3PK {
union {
struct {
uint32_t xm : 6;
uint32_t xe : 5;
uint32_t ym : 6;
uint32_t ye : 5;
uint32_t zm : 5;
uint32_t ze : 5;
};
uint32_t v;
};
void XMFLOAT3PK();
void XMFLOAT3PK(
const XMFLOAT3PK & unnamedParam1
);
XMFLOAT3PK & operator=(
const XMFLOAT3PK & unnamedParam1
);
void XMFLOAT3PK(
XMFLOAT3PK && unnamedParam1
);
XMFLOAT3PK & operator=(
XMFLOAT3PK && unnamedParam1
);
void XMFLOAT3PK(
uint32_t Packed
) noexcept;
void XMFLOAT3PK(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3PK(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3PK & operator=(
uint32_t Packed
) noexcept;
};
Membros
6 xm
A mantissa de 6 bits para o componente x.
5 xe
O expoente tendencioso de 5 bits para o componente x.
6 ym
A mantissa de 6 bits para o componente y.
5 ye
O expoente tendencioso de 5 bits para o componente y.
5 zm
A mantissa de 5 bits para o componente z.
5 ze
O expoente tendencioso de 5 bits para o componente z.
v
Inteiro de 32 bits sem sinal que representa o vetor 3D.
Construtor padrão para XMFLOAT3PK
.
Construtor padrão para XMFLOAT3PK.
void XMFLOAT3PK( const XMFLOAT3PK & unnamedParam1)
Um construtor para XMFLOAT3PK
.
Um construtor para XMFLOAT3PK.
XMFLOAT3PK & operator=( const XMFLOAT3PK & unnamedParam1)
void XMFLOAT3PK( XMFLOAT3PK && unnamedParam1)
Atribui os dados do componente vetor de uma instância do XMFLOAT3SE
à instância atual do XMFLOAT3SE
.
Esse operador atribui os dados do componente vetor de uma instância de XMFLOAT3SE à instância atual do XMFLOAT3SE
.
XMFLOAT3PK & operator=( XMFLOAT3PK && unnamedParam1)
Atribui os dados do componente vetor de uma instância do XMFLOAT3PK
à instância atual do XMFLOAT3PK
.
Esse operador atribui os dados do componente vetor de uma instância de XMFLOAT3PK à instância atual do XMFLOAT3PK
.
void XMFLOAT3PK( uint32_t Packed) noexcept
Inicializa uma nova instância de de XMFLOAT3PK
uma uint32_t
variável que contém dados de componente em um formato empacotado.
Esse construtor inicializa uma nova instância de XMFLOAT3PK de uma uint32_t
variável que contém dados de componente em um formato empacotado.
void XMFLOAT3PK( float _x, float _y, float _z) noexcept
Inicializa uma nova instância de de XMFLOAT3PK
três float
argumentos.
Esse construtor inicializa uma nova instância de XMFLOAT3PK de três float
argumentos.
void XMFLOAT3PK( const float *pArray) noexcept
Inicializa uma nova instância de XMFLOAT3PK de um argumento de matriz de três elementos float
.
Esse construtor inicializa uma nova instância de XMFLOAT3PK de um argumento de matriz de três elementos float
.
noexcept do operador void uint32_t()
Retorna uma instância de uint32_t
que contém os componentes da XMFLOAT3PK
instância em um formato empacotado.
Esse operador retorna uma instância de uint32_t
que contém os componentes da instância XMFLOAT3PK em um formato empacotado.
XMFLOAT3PK & 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 XMFLOAT3PK.
Comentários
Não há bits de sinal. Isso significa que todos os números de precisão parcial são positivos. O componente z é armazenado nos bits mais significativos e o componente x é armazenado nos bits menos significativos como este:
(Z10Y11X11): [31] ZZZZZzzz zzYYYYYy yyyyyXXX XXxxxxxx [0]
Ou em detalhes:
- Os bits 0-5 de v são a mantissa de 6 bits do valor de ponto flutuante do componente x : o membro xm da estrutura.
- Os bits 6-10 de v são o expoente de 5 bits do valor de ponto flutuante do componente x , o membro xe da estrutura.
- Os bits 11-16 de v são a mantissa de 6 bits do valor de ponto flutuante do componente y : o membro ym da estrutura.
- Os bits 17-21 de v são o expoente de 5 bits do valor de ponto flutuante do componente y : o membro ye da estrutura.
- Os bits 22-26 de v são a mantissa de 5 bits do valor de ponto flutuante do componente z : o membro zm da estrutura.
- Os bits 27-31 de v são o expoente de 5 bits do valor de ponto flutuante do componente z : o membro ze da estrutura.
XMFLOAT3PK
pode ser carregado em instâncias de XMVECTOR usando XMLoadFloat3PK.
Instâncias de XMVECTOR
podem ser armazenadas em uma instância do XMFLOAT3PK
com XMStoreFloat3PK.
MIN_F10/MIN_F11 = 6,10352e-5
MAX_F10 = 64512
MAX_F11 = 65024
Namespace: Usar DirectX::P ackedVector
Requisitos da 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 |