XMVectorLerp-Funktion (directxmath.h)
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) |