XMXDEC4::XMXDEC4(constfloat*)-Funktion (directxpackedvector.h)
Initialisiert eine neue instance von XMXDEC4 aus einem Argument mit vier Elementenarrayfloat
.
Dieser Konstruktor initialisiert eine neue instance von XMXDEC4 aus einem Argument mit vier Elementarraysfloat
.
Syntax
void XMXDEC4(
const float *pArray
) noexcept;
Parameter
pArray
Vier Element-Gleitkommaarray mit den Werten, die zum Initialisieren der vier Komponenten eines neuen instance von XMXDEC4 verwendet werden.
Rückgabewert
Keine
Bemerkungen
Da XMXDEC4 einen ganzzahligen Vektor mit vier Komponenten darstellt, wird der Bruchteil eines pArray-Elements abgeschnitten.
Arrayelemente werden den Vektorkomponenten einer neuen instance von XMXDEC4 wie folgt zugeordnet:
XMXDEC4-Member | Array-Element | Bereich |
---|---|---|
x | pArray[0] | -511, 511 |
j | pArray[1] | -511, 511 |
z | pArray[2] | -511, 511 |
w | pArray[3] | 0, 3 |
Elemente von pArray werden vor der Zuweisung an das entsprechende Element von XMXDEC4 an den zulässigen Bereich geklemmt.
Der folgende Pseudocode veranschaulicht den Betrieb dieses Konstruktors, der die Union der vier Komponenten des XMXDEC4-Vektors mit einem instance von uint32_t in der Definition der Struktur nutzt:
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));
Anforderungen
Zielplattform | Windows |
Kopfzeile | directxpackedvector.h |