Funzione XMDEC4::XMDEC4(constfloat*) (directxpackedvector.h)
Inizializza una nuova istanza di XMDEC4 da un argomento di matrice di quattro elementi float
.
Questo costruttore inizializza una nuova istanza di XMDEC4 da un argomento di matrice float a quattro elementi.
Sintassi
void XMDEC4(
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 XMDEC4.
Valore restituito
nessuno
Osservazioni
Poiché XMDEC4 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 XMDEC4 come indicato di seguito:
Componente vettore | Elemento Array | Intervallo |
---|---|---|
x | pArray[0] | -511, 511 |
y | pArray[1] | -511, 511 |
z | pArray[2] | -511, 511 |
w | pArray[3] | -1, 1 |
Gli elementi di pArray verranno bloccati nell'intervallo consentito prima dell'assegnazione al membro appropriato di XMDEC4.
Lo pseudocode seguente illustra l'operazione di questo costruttore, che sfrutta l'unione dei quattro componenti del vettore XMDEC4 con un'istanza uint32_t
di nella definizione della struttura:
XMDEC4 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], -1.0 ), 1.0 );
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((int32_t)_x1 & 0x3FF));
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | directxpackedvector.h |