XMFLOAT3PK-Struktur (directxpackedvector.h)
Beschreibt einen 3D-Vektor mit X- und Y-Komponenten, die als 11-Bit-Gleitkommazahl und Z-Komponente als 10-Bit-Gleitkommawert gespeichert sind.
Eine Liste mit zusätzlichen Funktionen, z. B. Konstruktoren und Operatoren, die XMFLOAT3PK
bei der Programmierung in C++ verfügbar sind, finden Sie unter XMFLOAT3PK-Erweiterungen.
Syntax
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;
};
Member
6 xm
Die 6-Bit-Mantisse für die x-Komponente.
5 xe
Der 5-Bit-Voreingenommene Exponent für die x-Komponente.
6 ym
Die 6-Bit-Mantisse für die y-Komponente.
5 ye
Der 5-Bit-Voreingenommene Exponent für die y-Komponente.
5 zm
Die 5-Bit-Mantisse für die z-Komponente.
5 ze
Der 5-Bit-Voreingenommene Exponent für die z-Komponente.
v
32-Bit-Ganzzahl ohne Vorzeichen, die den 3D-Vektor darstellt.
Standardkonstruktor für XMFLOAT3PK
.
Standardkonstruktor für XMFLOAT3PK.
void XMFLOAT3PK( const XMFLOAT3PK & unnamedParam1)
Ein Konstruktor für XMFLOAT3PK
.
Ein Konstruktor für XMFLOAT3PK.
XMFLOAT3PK & operator=( const XMFLOAT3PK & unnamedParam1)
void XMFLOAT3PK( XMFLOAT3PK && unnamedParam1)
Weist die Daten der Vektorkomponente aus einer instance von XMFLOAT3SE
der aktuellen instance von zuXMFLOAT3SE
.
Dieser Operator weist die Daten der Vektorkomponente aus einem instance XMFLOAT3SE der aktuellen instance von XMFLOAT3SE
zu.
XMFLOAT3PK & operator=( XMFLOAT3PK && unnamedParam1)
Weist die Daten der Vektorkomponente aus einer instance von XMFLOAT3PK
der aktuellen instance von zuXMFLOAT3PK
.
Dieser Operator weist die Daten der Vektorkomponente aus einem instance XMFLOAT3PK der aktuellen instance von XMFLOAT3PK
zu.
void XMFLOAT3PK( uint32_t Packed) noexcept
Initialisiert eine neue instance von XMFLOAT3PK
aus einer uint32_t
Variablen, die Komponentendaten in einem gepackten Format enthält.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3PK aus einer uint32_t
Variablen, die Komponentendaten in einem gepackten Format enthält.
void XMFLOAT3PK( float _x, float _y, float _z) noexcept
Initialisiert eine neue instance von XMFLOAT3PK
drei float
Argumenten.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3PK aus drei float
Argumenten.
void XMFLOAT3PK( const float *pArray) noexcept
Initialisiert eine neue instance von XMFLOAT3PK aus einem Arrayargument mit drei Elementenfloat
.
Dieser Konstruktor initialisiert eine neue instance von XMFLOAT3PK aus einem Arrayargument mit drei Elementenfloat
.
void-Operator uint32_t() noexcept
Gibt eine instance zurückuint32_t
, die die Komponenten der XMFLOAT3PK
instance in einem gepackten Format enthält.
Dieser Operator gibt eine instance von uint32_t
zurück, die die Komponenten der XMFLOAT3PK instance in einem gepackten Format enthält.
XMFLOAT3PK & operator=( uint32_t Packed) noexcept
Dieser Operator weist die in einer instance von uint32_t
gepackten Vektorkomponentendaten der aktuellen instance von XMFLOAT3PK zu.
Hinweise
Es gibt keine Vorzeichenbits. Dies bedeutet, dass alle Zahlen mit teilweiser Genauigkeit positiv sind. Die z-Komponente wird in den wichtigsten Bits gespeichert, und die x-Komponente wird in den am wenigsten signifikanten Bits wie folgt gespeichert:
(Z10Y11X11): [31] ZZZZZzzz zzYYYYYy yyyyyXXX XXxxxxxx [0]
Oder im Detail:
- Die Bits 0-5 von v sind die 6-Bit-Mantisse des Gleitkommawerts der x-Komponente: das xm-Element der -Struktur.
- Die Bits 6-10 von v sind der 5-Bit-Exponent des Gleitkommawerts der xe-Komponente, das xe-Element der -Struktur.
- Die Bits 11-16 von v sind die 6-Bit-Mantisse des Gleitkommawerts der y-Komponente: das ym-Element der -Struktur.
- Die Bits 17-21 von v sind der 5-Bit-Exponent des Gleitkommawerts der y-Komponente: der Ye-Member der -Struktur.
- Die Bits 22-26 von v sind die 5-Bit-Mantisse des Gleitkommawerts der z-Komponente: das zm-Element der -Struktur.
- Die Bits 27-31 von v sind der 5-Bit-Exponent des Gleitkommawerts der z-Komponente: das ze-Element der -Struktur.
XMFLOAT3PK
kann mithilfe von XMLoadFloat3PK in XMVECTOR-Instanzen geladen werden.
Instanzen von XMVECTOR
können in einer instance von XMFLOAT3PK
mit XMStoreFloat3PK gespeichert werden.
MIN_F10/MIN_F11 = 6,10352e-5
MAX_F10 = 64512
MAX_F11 = 65024
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 |