Fonction XMVectorLerp (directxmath.h)
Effectue une interpolation linéaire entre deux vecteurs.
Syntaxe
XMVECTOR XM_CALLCONV XMVectorLerp(
[in] FXMVECTOR V0,
[in] FXMVECTOR V1,
[in] float t
) noexcept;
Paramètres
[in] V0
Premier vecteur à partir duquel interpoler.
[in] V1
Deuxième vecteur à partir duquel interpoler.
[in] t
Facteur de contrôle d’interpolation.
Valeur retournée
Retourne un vecteur contenant l’interpolation.
Remarques
Le pseudocode suivant illustre le fonctionnement de la fonction :
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;
Notez qu’il est assez simple d’utiliser cette fonction pour effectuer une interpolation cubique au lieu d’une interpolation linéaire comme suit :
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 );
}
Configuration requise pour la plateforme
Microsoft Visual Studio 2010 ou Microsoft Visual Studio 2012 avec le Kit de développement logiciel (SDK) Windows pour Windows 8. Pris en charge pour les applications de bureau Win32, les applications du Windows Store et Windows Phone 8 applications.Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | directxmath.h (inclure DirectXMath.h) |