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