Freigeben über


XMVectorSelect-Funktion (directxmath.h)

Führt eine Komponentenauswahl zwischen zwei Eingabevektoren aus und gibt den resultierenden Vektor zurück.

Syntax

XMVECTOR XM_CALLCONV XMVectorSelect(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
  [in] FXMVECTOR Control
) noexcept;

Parameter

[in] V1

Der erste zu vergleichende Vektor.

[in] V2

Zweiter zu vergleichende Vektor.

[in] Control

Vektormaske zum Auswählen einer Vektorkomponente aus V1 oder V2. Wenn eine Komponente von Control 0 ist, ist die entsprechende Komponente des zurückgegebenen Vektors die Komponente des ersten Vektors. Wenn eine Komponente von Control 0xFF ist, ist die entsprechende Komponente des zurückgegebenen Vektors die Komponente des zweiten Vektors. Ausführliche Informationen zur Funktionsweise der Vektormaske finden Sie unter "Hinweise".

In der Regel ist der für Control verwendete Vektor entweder die Ausgabe einer Vektorvergleichsfunktion (z. B. XMVectorEqual, XMVectorLess oder XMVectorGreater) oder die Ausgabe von XMVectorSelectControl.

Rückgabewert

Gibt das Ergebnis der Komponentenauswahl zurück.

Hinweise

Wenn ein bestimmtes Steuerelement-Bit festgelegt ist, wird das entsprechende Bit von V2 verwendet, andernfalls wird das entsprechende Bit von V1 verwendet. Der folgende Pseudocode veranschaulicht den Betrieb der Funktion:

XMVECTOR Result;

Result.u[0] = (V1.u[0] & ~Control.u[0]) | (V2.u[0] & Control.u[0]);
Result.u[1] = (V1.u[1] & ~Control.u[1]) | (V2.u[1] & Control.u[1]);
Result.u[2] = (V1.u[2] & ~Control.u[2]) | (V2.u[2] & Control.u[2]);
Result.u[3] = (V1.u[3] & ~Control.u[3]) | (V2.u[3] & Control.u[3]);

return Result;

Der manuelle Aufbau eines Steuerungsvektors ist nicht erforderlich. Es gibt zwei einfache Möglichkeiten, einen geeigneten Steuerungsvektor zu erstellen:

Plattformanforderungen

Microsoft Visual Studio 2010 oder Microsoft Visual Studio 2012 mit dem Windows SDK für Windows 8. Unterstützt für Win32-Desktop-Apps, Windows Store-Apps und Windows Phone 8-Apps.

Anforderungen

   
Zielplattform Windows
Kopfzeile directxmath.h (einschließlich DirectXMath.h)

Weitere Informationen

Komponentenweise Vektorfunktionen

XMVectorSelectControl