XMFLOAT3SE struttura (directxpackedvector.h)
Descrive un vettore 3D di tre componenti a virgola mobile con mantissa a 9 bit, ognuno che condivide lo stesso esponente a 5 bit.
Per un elenco di funzionalità aggiuntive, ad esempio costruttori e operatori disponibili quando XMFLOAT3SE
si esegue la programmazione in C++, vedere estensioni XMFLOAT3SE.
Sintassi
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;
};
Members
9 xm
Componente x a 9 bit.
9 ym
Componente a 9 bit.
9 zm
Componente z a 9 bit.
5 e
Esponente condiviso a 5 bit.
v
Intero senza segno a 32 bit che rappresenta il vettore 3D.
Costruttore predefinito per XMFLOAT3SE
.
Costruttore predefinito per XMFLOAT3SE.
void XMFLOAT3SE( const XMFLOAT3SE & unnamedParam1)
Costruttore per XMFLOAT3SE
.
Costruttore per XMFLOAT3SE.
XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)
void XMFLOAT3SE( XMFLOAT3SE && senza nomeParam1)
Costruttore per XMFLOAT3SE
.
Costruttore per XMFLOAT3SE.
XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)
void XMFLOAT3SE( uint32_t pacchetto) noexcept
Inizializza una nuova istanza di da una variabile contenente i dati dei XMFLOAT3SE
componenti in un uint32_t
formato compresso.
Questo costruttore inizializza una nuova istanza di XMFLOAT3SE da una uint32_t
variabile contenente i dati dei componenti in un formato compresso.
void XMFLOAT3SE( float _x, float _y, float _z) noexcept
Inizializza una nuova istanza di XMFLOAT3SE
da tre float
argomenti.
Questo costruttore inizializza una nuova istanza di XMFLOAT3SE da tre float
argomenti.
void XMFLOAT3SE( const float *pArray) noexcept
Inizializza una nuova istanza di XMFLOAT3SE da un argomento di matrice di tre elementi float
.
Questo costruttore inizializza una nuova istanza di XMFLOAT3SE da un oggetto da un argomento di matrice float di tre elementi.
Operatore void uint32_t() noexcept
Restituisce un'istanza di uint32_t
contenente i componenti dell'istanza XMFLOAT3SE
in un formato compresso.
Questo operatore restituisce un'istanza di uint32_t
contenente i componenti dell'istanza di XMFLOAT3SE in un formato compresso.
XMFLOAT3SE & operator=( uint32_t pacchetto) noexcept
Questo operatore assegna i dati del componente vettore inseriti in un'istanza di all'istanza corrente di uint32_t
XMFLOAT3SE.
Commenti
I valori dei tre componenti di un'istanza di XMFLOAT3SE
vengono archiviati nella v dell'istanza nel formato seguente: il membro XMFLOAT3SE
e della struttura - l'esponente condiviso dai mantissas dei valori a virgola mobile di tutti e tre i componenti di XMFLOAT3SE
- viene archiviato nei bit più alti del valore restituito e la mantissa del componente x archiviata nei bit meno significativi.
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
O in dettaglio:
- I bit 0-8 di Packed sono la mantissa a 9 bit del valore a virgola mobile del componente x : il membro xm della struttura corrente.
- I bit 9-17 di Pack sono la mantissa a 9 bit del valore a virgola mobile del componente y: il membro ym della struttura corrente.
- I bit a 18-26 del pacchetto sono la mantissa a 9 bit del valore a virgola mobile del componente z : il membro zm della struttura corrente.
- I bit 27-31 di Pack sono gli esponenti a 5 bit usati con le mantissa archiviate (xm, ym, zm) per rappresentare le dimensioni di ogni componente: il membro e della struttura corrente.
XMFLOAT3SE
struttura, tutti i valori dei componenti sono positivi.
XMFLOAT3SE
può essere caricato in istanze di XMVECTOR usando XMLoadFloat3SE.
Le istanze di possono essere archiviate in un'istanza di XMVECTOR
XMFLOAT3SE
con XMStoreFloat3SE.
Namespace: Usare DirectX::P ackedVector
Requisiti della piattaforma
Microsoft Visual Studio 2010 o Microsoft Visual Studio 2012 con Windows SDK per Windows 8. Supportato per app desktop Win32, app di Windows Store e Windows Phone 8 app.Requisiti
Intestazione | directxpackedvector.h |