Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Führt eine lineare Interpolation zwischen zwei Vektoren aus.
Syntax
XMVECTOR XM_CALLCONV XMVectorLerp(
[in] FXMVECTOR V0,
[in] FXMVECTOR V1,
[in] float t
) noexcept;
Parameter
[in] V0
Erster Vektor, aus dem interpoliert werden soll.
[in] V1
Zweiter Vektor, aus dem interpoliert werden soll.
[in] t
Interpolationskontrollfaktor.
Rückgabewert
Gibt einen Vektor zurück, der die Interpolation enthält.
Hinweise
Der folgende Pseudocode veranschaulicht den Vorgang der Funktion:
XMVECTOR Result;
Result.x = V0.x + t * (V1.x - V0.x);
Result.y = V0.y + t * (V1.y - V0.y);
Result.z = V0.z + t * (V1.z - V0.z);
Result.w = V0.w + t * (V1.w - V0.w);
return Result;
Beachten Sie, dass es ziemlich einfach ist, diese Funktion für eine kubische Interpolation anstelle einer linearen Interpolation wie folgt zu verwenden:
XMVECTOR SmoothStep( XMVECTOR V0, XMVECTOR V1, float t )
{
t = (t > 1.0f) ? 1.0f : ((t < 0.0f) ? 0.0f : t); // Clamp value to 0 to 1
t = t*t*(3.f - 2.f*t);
return XMVectorLerp( V0, V1, t );
}
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
| Anforderung | Wert |
|---|---|
| Zielplattform | Windows |
| Kopfzeile | directxmath.h (DirectXMath.h einschließen) |