XMFLOAT3SE-Struktur (directxpackedvector.h)
Beschreibt einen 3D-Vektor aus drei Gleitkommakomponenten mit 9-Bit-Mantissen, die jeweils den gleichen 5-Bit-Exponenten nutzen.
Eine Liste mit zusätzlichen Funktionen, z. B. Konstruktoren und Operatoren, die beim Programmieren in C++ verfügbar XMFLOAT3SE
sind, finden Sie unter XMFLOAT3SE-Erweiterungen.
Syntax
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;
};
Member
9 xm
Die 9-Bit-x-Komponente.
9 ym
Die 9-Bit-y-Komponente.
9 zm
Die 9-Bit-z-Komponente.
5 e
Der freigegebene 5-Bit-Exponent.
v
32-Bit-Ganzzahl ohne Vorzeichen, die den 3D-Vektor darstellt.
Standardkonstruktor für XMFLOAT3SE
.
Standardkonstruktor für XMFLOAT3SE.
void XMFLOAT3SE( const XMFLOAT3SE & unnamedParam1)
Ein Konstruktor für XMFLOAT3SE
.
Ein Konstruktor für XMFLOAT3SE.
XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)
void XMFLOAT3SE( XMFLOAT3SE && unbenannteParam1)
Ein Konstruktor für XMFLOAT3SE
.
Ein Konstruktor für XMFLOAT3SE.
XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)
void XMFLOAT3SE( uint32_t Verpackt) noexcept
Initialisiert eine neue instance von XMFLOAT3SE
aus einer uint32_t
Variablen, die Komponentendaten in einem gepackten Format enthält.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3SE aus einer uint32_t
Variablen, die Komponentendaten in einem gepackten Format enthält.
void XMFLOAT3SE( float _x, float _y, float _z) noexcept
Initialisiert eine neue instance von XMFLOAT3SE
drei float
Argumenten.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3SE aus drei float
Argumenten.
void XMFLOAT3SE( const float *pArray) noexcept
Initialisiert eine neue instance von XMFLOAT3SE aus einem Argument mit drei Elementarraysfloat
.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3SE aus einem aus einem Float-Array-Argument mit drei Elementen.
void-Operator uint32_t() noexcept
Gibt eine instance zurückuint32_t
, die die Komponenten des XMFLOAT3SE
instance in einem gepackten Format enthält.
Dieser Operator gibt eine instance zurückuint32_t
, die die Komponenten der XMFLOAT3SE instance in einem gepackten Format enthält.
XMFLOAT3SE & operator=( uint32_t Packed) noexcept
Dieser Operator weist die in einer instance von uint32_t
gepackten Daten der Vektorkomponente dem aktuellen instance von XMFLOAT3SE zu.
Hinweise
Die Werte der drei Komponenten einer instance von XMFLOAT3SE
werden im v des instance im folgenden Format gespeichert: Das e-Element der XMFLOAT3SE
Struktur - der Exponent, der von den Mantissen der Gleitkommawerte aller drei Komponenten XMFLOAT3SE
von gemeinsam genutzt wird - wird in der höchsten Reihenfolge bits des Rückgabewerts und die Mantisse der x-Komponente in den am wenigsten signifikanten Bits gespeichert.
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
Oder im Detail:
- Die Bits 0-8 von Packed sind die 9-Bit-Mantisse des Gleitkommawerts der x-Komponente: das xm-Element der aktuellen Struktur.
- Die Bits 9-17 von Packed sind die 9-Bit-Mantisse des Gleitkommawerts der y-Komponente: das ym-Element der aktuellen Struktur.
- Bits 18-26 von Packed sind die 9-Bit-Mantissa des Gleitkommawerts der z-Komponente: das zm-Element der aktuellen Struktur.
- Bits 27-31 of Packed ist der 5-Bit-Exponent, der mit den gespeicherten Mantissen (xm, ym, zm) verwendet wird, um die Größe jeder Komponente darzustellen: das e-Element der aktuellen Struktur.
XMFLOAT3SE
Struktur gibt, sind alle Komponentenwerte positiv.
XMFLOAT3SE
kann mithilfe von XMLoadFloat3SE in XMVECTOR-Instanzen geladen werden.
Instanzen von XMVECTOR
können in einer instance von XMFLOAT3SE
mit XMStoreFloat3SE gespeichert werden.
Namespace: Verwenden von DirectX::P ackedVector
Plattformanforderungen
Microsoft Visual Studio 2010 oder Microsoft Visual Studio 2012 mit dem Windows SDK für Windows 8. Unterstützt für Win32-Desktop-Apps, Windows Store-Apps und Windows Phone 8-Apps.Anforderungen
Kopfzeile | directxpackedvector.h |