Funzione XMU555::XMU555(constfloat*,bool) (directxpackedvector.h)
Inizializza una nuova istanza di XMU555 da una matrice di tre elementi float
e un bool
argomento.
Questo costruttore inizializza una nuova istanza di XMU555 da una matrice di tre elementi float
(specificando x-, y e z-components) e un bool
argomento (specificando un componente w).
Sintassi
void XMU555(
const float *pArray,
bool _w
) noexcept;
Parametri
pArray
Matrice a virgola mobile di tre elementi contenente i valori usati per inizializzare i componenti x-, y e z di una nuova istanza di XMU555.
_w
Valore del componente w-component dell'istanza.
Valore restituito
nessuno
Osservazioni
Gli elementi della matrice e l'argomento _w vengono mappati ai componenti vettoriali di una nuova istanza di XMU555 come indicato di seguito:
Membro XMU555 | Argomento | Intervallo |
---|---|---|
x | pArray[0] | 0.0, 31.0 |
y | pArray[1] | 0.0, 31.0 |
z | pArray[2] | 0.0, 31.0 |
w | _W | 0.0, 1.0 |
Gli argomenti ai costruttori verranno bloccati nell'intervallo consentito prima dell'assegnazione al membro appropriato di XMU555.
Lo pseudocode seguente illustra l'operazione di questo costruttore, che sfrutta l'unione dei quattro componenti del vettore XMU555 con un'istanza di uint16_t nella definizione della struttura:
XMU555 instance;
_x1=min( max( pArray[0], 0.0 ), 31.0 );
_y1=min( max( pArray[1], 0.0 ), 31.0 );
_z1=min( max( pArray[2], 0.0 ), 31.0 );
_w1=min( max( _w, 0 ), 1 );
instance.v = (((uint16_t)_w1 ? 0x8000 : 0) |
(((uint16_t)_z1 & 0x1F) << 10) |
(((uint16_t)_y1 & 0x1F) << 5) |
(((uint16_t)_x1 & 0x1F)));
Requisiti
Piattaforma di destinazione | Windows |
Intestazione | directxpackedvector.h |