XMDECN4::XMDECN4(constfloat*)-Funktion (directxpackedvector.h)
Initialisiert eine neue instance von XMDECN4 aus einem Argument mit vier Elementenarrayfloat
.
Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus einem Argument mit vier Elementarraysfloat
.
Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.
Syntax
void XMDECN4(
const float *pArray
) noexcept;
Parameter
pArray
Vier Element-Gleitkommaarray mit den Werten, die zum Initialisieren der vier Komponenten eines neuen instance von XMDECN4 verwendet werden.
Rückgabewert
Keine
Bemerkungen
Arrayelemente werden den Vektorkomponenten einer neuen instance von XMDECN4 wie folgt zugeordnet:
Vektorkomponente | Array-Element | Range | BESCHREIBUNG |
---|---|---|---|
x | pArray[0] | -1.0, 1.0 | Während der Instanziierung wird pArray[0] zwischen -1 und 1 geklemmt, mit 511.0f multipliziert und x zugewiesen. |
j | pArray[1] | -1.0, 1.0 | Während der Instanziierung wird pArray[1] zwischen -1 und 1 eingespannt, mit 511.0f multipliziert und dann y zugewiesen. |
z | pArray[2] | -1.0, 1.0 | Während der Instanziierung wird pArray[2] zwischen -1 und 1 geklemmt, mit 511.0f multipliziert und dann z zugewiesen. |
w | pArray[3] | -1.0, 1.0 | Während der Instanziierung wird pArray[3] zwischen -1 und 1 eingeklemmt und dann w zugewiesen. |
XMDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );
_x1 = round( _x1 * 511.0f);
_y1 = round( _y1 * 511.0f);
_z1 = round( _z1 * 511.0f);
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((int32_t)_x1 & 0x3FF));
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | directxpackedvector.h |