Freigeben über


XMDECN4-Struktur (directxpackedvector.h)

Ein 4D-Vektor zum Speichern signierter, normalisierter Werte als 10 Bit signierte x-, y- und z-Komponenten und eine 2-Bit-w-Komponente mit Vorzeichen.

Eine Liste mit zusätzlichen Funktionen wie Konstruktoren und Operatoren, die bei XMDECN4 der Programmierung in C++ verfügbar sind, finden Sie unter XMDECN4 Extensions.

 

Syntax

struct XMDECN4 {
  union {
    struct {
      int32_t x : 10;
      int32_t y : 10;
      int32_t z : 10;
      int32_t w : 2;
    };
             uint32_t v;
  };
  void      XMDECN4();
  void      XMDECN4(
    const XMDECN4 & unnamedParam1
  );
  XMDECN4 & operator=(
    const XMDECN4 & unnamedParam1
  );
  void      XMDECN4(
    XMDECN4 && unnamedParam1
  );
  XMDECN4 & operator=(
    XMDECN4 && unnamedParam1
  );
  void      XMDECN4(
    uint32_t Packed
  ) noexcept;
  void      XMDECN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void      XMDECN4(
    const float *pArray
  ) noexcept;
  void      operator uint32_t() noexcept;
  XMDECN4 & operator=(
    uint32_t Packed
  ) noexcept;
};

Member

x

Ganzzahlwert mit Vorzeichen im Bereich [-511, 511], der die x-Koordinate des Vektors beschreibt.

y

Ganzzahlwert mit Vorzeichen im Bereich [-511, 511], der die y-Koordinate des Vektors beschreibt.

z

Ganzzahlwert mit Vorzeichen im Bereich [-511, 511], der die Z-Koordinate des Vektors beschreibt.

w

Ganzzahlwert mit Vorzeichen im Bereich [-1, 1], der die w-Koordinate des Vektors beschreibt.

v

32-Bit-Ganzzahl ohne Vorzeichen, die den 4D-Vektor darstellt.

void XMDECN4()

Standardkonstruktor für XMDECN4.

Standardkonstruktor für XMDECN4 .

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.
 

void XMDECN4( const XMDECN4 & unnamedParam1)

Ein Konstruktor für XMDECN4.

Ein Konstruktor für XMDECN4.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.

XMDECN4 & operator=( const XMDECN4 & unnamedParam1)

void XMDECN4( XMDECN4 && unnamedParam1)

Ein Konstruktor für XMDECN4.

Ein Konstruktor für XMDECN4.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.

XMDECN4 & operator=( XMDECN4 && unnamedParam1)

Weist die Daten der Vektorkomponente aus einem instance XMDECN4 der aktuellen instance von XMDECN4 zu.

Dieser Operator weist die Daten der Vektorkomponente aus einem instance XMDECN4 der aktuellen instance von XMDECN4 zu.

Hinweis Dieser Operator ist nur unter C++ verfügbar.

void XMDECN4( uint32_t Packed) noexcept

Initialisiert eine neue instance von XMDECN4 aus einer uint32_t Variablen, die Komponentendaten in einem gepackten Format enthält.

Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus einer uint32_t Variablen, die Komponentendaten in einem gepackten Format enthält.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.
 

void XMDECN4( float _x, float _y, float _z, float _w) noexcept

Initialisiert eine neue instance von XMDECN4 vier normalisierten float Argumenten.

Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus vier normalisierten float Argumenten.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.
 

void XMDECN4( const float *pArray) noexcept

Initialisiert eine neue instance von XMDECN4 aus einem Argument mit einem Array mit vier Elementenfloat.

Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus einem Arrayargument mit vier Elementenfloat.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.

void-Operator uint32_t() noexcept

Gibt eine instance zurückuint32_t, die die Komponenten der XMDECN4 instance in einem gepackten Format enthält.

Gibt einen instance von uint32_t zurück, der die Komponenten der XMDECN4 instance in einem gepackten Format enthält.

Hinweis Dieser Operator ist nur unter C++ verfügbar.
 

XMDECN4 & operator=( uint32_t Packed) noexcept

Dieser Operator weist die in einer instance von uint32_t gepackten Daten der Vektorkomponente dem aktuellen instance von XMDECN4 zu.

Hinweis Dieser Operator ist nur unter C++ verfügbar.
 

Hinweise

Diese XMDECN4 Konstruktoren, die Gleitkommaargumente verwenden, erfordern eine normalisierte Eingabe, die im Bereich von [-1.0.-1.0] liegen muss. Während der Instanziierung werden die Eingaben, die die x-, y- und z-Komponenten angeben, dann mit 511,0f multipliziert, die Ergebnisse gerundet und dann den entsprechenden Membern von XMDECN4zugewiesen.

XMDECN4kann verwendet werden, um Instanzen von XMVECTOR aus normalisierten Werten zu laden, indem XMLoadDecN4 verwendet wird, das die x-, y- und z-Komponenten durch 511.0f dividiert, das Ergebnis rundet und dann die Komponenten einem XMVECTOR instance zuweist.

XMVECTORInstanzen, die normalisierte Werte enthalten, können mithilfe von XMStoreDecN4 in gespeichert XMDECN4 werden, wodurch die x-, y- und z-Komponenten mit 511.0f multipliziert werden, wodurch das Ergebnis abgerundet wird, bevor die Werte den entsprechenden XMDECN4 Membern zugewiesen 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

Anforderung Wert
Header directxpackedvector.h

Weitere Informationen

DirectXMath-Bibliotheksstrukturen

XMDECN4-Erweiterungen