Share via


funzione XMUDEC4::XMUDEC4(constfloat*) (directxpackedvector.h)

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

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

Nota Questo costruttore è disponibile solo in C++.

Sintassi

void XMUDEC4(
  const float *pArray
) noexcept;

Parametri

pArray

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

Valore restituito

nessuno

Osservazioni

Come XMUDEC4 rappresenta un vettore intero a quattro componenti, la parte frazionaria di un elemento di pArray verrà troncata.

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

membro XMUDEC4 Elemento Array Intervallo
x pArray[0] -0.0, 1023.0
y pArray[1] -0.0, 1023.0
z pArray[2] -0.0, 1023.0
w pArray[3] 0, 3

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

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

XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );

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

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMUDEC4

costruttori XMUDEC4