Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 XMFLOAT3SEzu.
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 XMFLOAT3PKzu.
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.
XMFLOAT3PKkann 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 |