Condividi tramite


Funzione XMDEC4::XMDEC4(constfloat*) (directxpackedvector.h)

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

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

Nota Questo costruttore è disponibile solo in C++.

Sintassi

void XMDEC4(
  const float *pArray
) noexcept;

Parametri

pArray

Matrice a virgola mobile di quattro elementi contenente i valori usati per inizializzare i quattro componenti di una nuova istanza di XMDEC4.

Valore restituito

nessuno

Osservazioni

Poiché XMDEC4 rappresenta un vettore intero a quattro componenti, la parte frazionaria di un elemento di pArray verrà troncata.

Gli elementi della matrice vengono mappati ai componenti vettoriali di una nuova istanza di XMDEC4 come indicato di seguito:

Componente vettore Elemento Array Intervallo
x pArray[0] -511, 511
y pArray[1] -511, 511
z pArray[2] -511, 511
w pArray[3] -1, 1

Gli elementi di pArray verranno bloccati nell'intervallo consentito prima dell'assegnazione al membro appropriato di XMDEC4.

Lo pseudocode seguente illustra l'operazione di questo costruttore, che sfrutta l'unione dei quattro componenti del vettore XMDEC4 con un'istanza uint32_t di nella definizione della struttura:

XMDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );

instance.v =  ( (int32_t)_w1 << 30) |
              (((int32_t)_z1 & 0x3FF) << 20) |
              (((int32_t)_y1 & 0x3FF) << 10) |
              (((int32_t)_x1 & 0x3FF));

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMDEC4

Costruttori XMDEC4