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

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

Questo costruttore inizializza una nuova istanza di XMXDEC4 da un argomento di quattro matrici di elementi float .

Nota Questo costruttore è disponibile solo in C++.

Sintassi

void XMXDEC4(
  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 XMXDEC4.

Valore restituito

nessuno

Osservazioni

Poiché XMXDEC4 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 XMXDEC4 come indicato di seguito:

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

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

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

XMXDEC4 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], 0.0 ), 3.0 );

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

Requisiti

   
Piattaforma di destinazione Windows
Intestazione directxpackedvector.h

Vedi anche

XMXDEC4

Costruttori XMXDEC4