funzione XMUDECN4::XMUDECN4(constfloat*) (directxpackedvector.h)
Inizializza una nuova istanza di XMUDECN4 da un argomento della matrice di quattro elementi float
.
Questo costruttore inizializza una nuova istanza di XMUDECN4 da un argomento della matrice di quattro elementi float
.
Nota Questo costruttore è disponibile solo in C++.
Sintassi
void XMUDECN4(
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 XMUDECN4.
Valore restituito
nessuno
Osservazioni
Gli elementi della matrice vengono mappati ai componenti vettoriali di una nuova istanza di XMUDECN4 come indicato di seguito:
Componente vettore | Elemento Array | Intervallo | Descrizione |
---|---|---|---|
x | pArray[0] | 0.0, 1.0 | Durante l'istanza, pArray[0] viene bloccato tra 0 e 1, moltiplicato per 1023.0f e assegnato a x. |
y | pArray[1] | 0.0, 1.0 | Durante l'istanza, pArray[1] viene bloccato tra 0 e 1, moltiplicato per 1023.0f e quindi assegnato a y. |
z | pArray[2] | 0.0, 1.0 | Durante l'istanza, pArray[2] viene bloccato tra 0 e 1, moltiplicato per 1023.0f e quindi assegnato a z. |
w | pArray[3] | 0.0, 1.0 | Durante l'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 l'istanza di un'istanza di XMUDECN4, viene moltiplicata per 3.0f e quindi archiviata come membro w della struttura. |
XMUDECN4 instance;
_x1=min( max( pArray[0], 0.0 ), 1.0 );
_y1=min( max( pArray[1], 0.0 ), 1.0 );
_z1=min( max( pArray[2], 0.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x = round( _x * 1023.0f);
_y = round( _y * 1023.0f);
_z = round( _z * 1023.0f);
_w = round( _w * 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 |