XMXDECN4::XMXDECN4(float,float,float,float)-Funktion (directxpackedvector.h)

Initialisiert eine neue instance von XMXDECN4 vier normalisierten float Argumenten.

Dieser Konstruktor initialisiert eine neue instance von XMXDECN4 aus vier normalisierten float Argumenten.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.
 

Syntax

void XMXDECN4(
  float _x,
  float _y,
  float _z,
  float _w
) noexcept;

Parameter

_x

Ein normalisierter Wert für die x-Koordinate des Vektors.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung eines instance von XMXDECN4wird es mit 511.0f multipliziert und dann als x-Element der Struktur gespeichert.

_y

Ein normalisierter Wert für die y-Koordinate des Vektors, das y des neuen instance von XMXDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung einer instance von XMXDECN4wird sie mit 511.0f multipliziert und dann als y-Element der Struktur gespeichert.

_z

Ein normalisierter Wert für die z-Koordinate des Vektors, das z des neuen instance von XMXDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung eines instance von XMXDECN4wird es mit 511.0f multipliziert und dann als z-Element der Struktur gespeichert.

_w

Ein normalisierter Wert für die w-Koordinate des Vektors, das w des neuen instance von XMXDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung eines instance von XMCOLOR wird es mit 3.0f multipliziert und dann als w-Element der Struktur gespeichert.

Rückgabewert

Keine

Bemerkungen

Alle Eingabewerte, _x, _y, _z und _w werden auf einen Bereich von -1,0 bis 1,0 geklemmt.

Der folgende Pseudocode veranschaulicht den Betrieb dieses Konstruktors, der die union der vier Komponenten des XMDECN4 Vektors mit einem instance von uint32_t in der Definition der Struktur nutzt:


    	XMDECN4 instance;
	_x1=min( max( _x, -1.0 ), 1.0 );
	_y1=min( max( _y, -1.0 ), 1.0 );
	_z1=min( max( _z, -1.0 ), 1.0 );
	_w1=min( max( _w, 0.0 ), 1.0 );
	_x1 = round( _x1 *  511.0f);
	_y1 = round( _y1 *  511.0f);
	_z1 = round( _z1 *  511.0f);
	_w1 = round( _w1 *  3.0f);

	instance.v =  ( (int32_t)_w1 << 30) |
                      (((int32_t)_z1 & 0x3FF) << 20) |
                      (((int32_t)_y1 & 0x3FF) << 10) |
                      (((uint32_t)_x1 & 0x3FF));
	

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directxpackedvector.h

Weitere Informationen

Referenz

XMXDECN4

XMXDECN4-Konstruktoren