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