Condividi tramite


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

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++.

Sintassi

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

Valore restituito

nessuno

Osservazioni

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

Componente vettore Elemento Array Intervallo Descrizione
x pArray[0] -0.0, 1.0 Durante la creazione di un'istanza, pArray[0] è bloccato tra -1 e 1, moltiplicato per 511,0f e assegnato a x.
y pArray[1] -0.0, 1.0 Durante la creazione di un'istanza, pArray[1] viene bloccato tra -1 e 1, moltiplicato per 511.0f e quindi assegnato a y.
z pArray[2] -0.0, 1.0 Durante la creazione di un'istanza, pArray[2] viene bloccato tra -1 e 1, moltiplicato per 511,0f e quindi assegnato a z.
w pArray[3] 0.0, 1.0 Durante la creazione di un'istanza, pArray[3] viene bloccato tra 0 e 1 e quindi assegnato a w. Questo argomento deve essere compreso tra 0,0 e 1,0; durante la creazione di un'istanza di XMXDECN4, viene moltiplicata per 3,0f e quindi archiviata come membro w della struttura.
XMXDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x1 = round( _x1 *  511.0f);
_y1 = round( _y1 *  511.0f);
_z1 = round( _z1 *  511.0f);
_w1 = round( _w1 *  3.0f);

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

Riferimento

XMXDECN4

Costruttori XMXDECN4