Condividi tramite


struttura XMXDECN4 (directxpackedvector.h)

Vettore 4D per l'archiviazione di valori firmati, normalizzati come componenti x,y e z con segno a 10 bit e un valore normalizzato senza segno come componente w senza segno a 2 bit.

Per un elenco di funzionalità aggiuntive, ad esempio costruttori e operatori disponibili quando XMXDECN4 si esegue la programmazione in C++, vedere XMXDECN4 Extensions.

Nota Per informazioni sugli oggetti equivalenti D3DDECLTYPE, D3DFORMAT e DXGI_FORMAT, vedere Equivalenza dei tipi di libreria DirectXMath.
 

Sintassi

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

Members

x

Valore intero con segno nell'intervallo [-511, 511] che descrive la coordinata x del vettore.

y

Valore intero con segno nell'intervallo [-511, 511] che descrive la coordinata y del vettore.

z

Valore intero con segno nell'intervallo [-511, 511] che descrive la coordinata z del vettore.

w

Valore intero senza segno nell'intervallo [0, 3] che descrive la coordinata w del vettore.

v

Intero senza segno a 32 bit che rappresenta il vettore 4D.

void XMXDECN4()

Costruttore predefinito per XMXDECN4.

Costruttore predefinito per XMXDECN4 .

Nota Questo costruttore è disponibile solo in C++.
 

void XMXDECN4( const XMXDECN4 & unnamedParam1)

Costruttore per XMXDECN4 .

Costruttore per XMXDECN4.

Nota Questo costruttore è disponibile solo in C++.

XMXDECN4 & operator=( const XMXDECN4 & unnamedParam1)

void XMXDECN4( XMXDECN4 && unnamedParam1)

Costruttore per XMXDECN4 .

Costruttore per XMXDECN4.

Nota Questo costruttore è disponibile solo in C++.

XMXDECN4 & operator=( XMXDECN4 && unnamedParam1)

Assegna i dati del componente vettoriale da un'istanza di XMXDECN4 all'istanza corrente di XMXDECN4.

Nota Questo operatore è disponibile solo in C++.

void XMXDECN4( uint32_t compresso)

Inizializza una nuova istanza di XMXDECN4 da una uint32_t variabile contenente i dati del componente in un formato compresso.

Questo costruttore inizializza una nuova istanza di XMXDECN4 da una uint32_t variabile contenente i dati del componente in un formato compresso.

Nota Questo costruttore è disponibile solo in C++.
 

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

Inizializza una nuova istanza di XMXDECN4 da quattro argomenti normalizzati float .

Questo costruttore inizializza una nuova istanza di XMXDECN4 da quattro argomenti normalizzati float .

Nota Questo costruttore è disponibile solo in C++.
 

void XMXDECN4( const float *pArray) noexcept

Inizializza una nuova istanza di XMXDECN4 da un argomento di matrice di quattro elementi float .

Questo costruttore inizializza una nuova istanza di XMXDECN4 da un argomento di matrice di quattro elementi float .

Nota Questo costruttore è disponibile solo in C++.

Operatore void uint32_t() noexcept

Restituisce un'istanza di uint32_t contenente i componenti dell'istanza XMXDECN4 in un formato compresso.

Restituisce un'istanza di uint32_t contenente i componenti dell'istanza di XMXDECN4 in un formato compresso.

Nota Questo operatore è disponibile solo in C++.
 

XMXDECN4 & operator=( uint32_t Packed) noexcept

Assegna i dati del componente vettoriale compressi in un'istanza di uint32_t all'istanza corrente di XMXDECN4.

Questo operatore assegna i dati del componente vettoriale compressi in un'istanza di uint32_t all'istanza corrente di XMXDECN4.

Nota Questo operatore è disponibile solo in C++.
 

Commenti

Tali XMXDECN4 costruttori che usano argomenti a virgola mobile richiedono l'input normalizzato, che deve trovarsi nell'intervallo di [-1.0.-1.0] per x-, y-, z-components e 0.0 per il componente w. Durante la creazione di istanze, gli input che specificano i componenti x,y e z vengono moltiplicati per 511.0f e il componente w per 3,0f, questi risultati vengono arrotondati e quindi assegnati ai membri appropriati di XMXDECN4.

XMXDECN4 può essere usato per caricare istanze di XMVECTOR da valori normalizzati, usando XMLoadXDecN4, che divide i componenti x,y e z per 511.0f, il componente w per 3,0f, arrotonda il risultato e quindi assegna i componenti a un'istanza XMVECTOR di .

XMVECTOR Le istanze contenenti valori normalizzati possono essere archiviate in XMXDECN4 usando XMStoreXDecN4, che moltiplica i componenti x,y e z per 511.0f, il componente w per 3,0f, arrotondando il risultato, prima di assegnare i valori ai membri appropriati XMXDECN4 .

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 le app desktop Win32, le app di Windows Store e Windows Phone 8 app.

Requisiti

   
Intestazione directxpackedvector.h

Vedi anche

Strutture della libreria DirectXMath

estensioni XMXDECN4