Fungsi XMVectorLerp (directxmath.h)

Melakukan interpolasi linier antara dua vektor.

Sintaks

XMVECTOR XM_CALLCONV XMVectorLerp(
  [in] FXMVECTOR V0,
  [in] FXMVECTOR V1,
  [in] float     t
) noexcept;

Parameter

[in] V0

Vektor pertama yang menginterpolasi.

[in] V1

Vektor kedua untuk menginterpolasi dari.

[in] t

Faktor kontrol interpolasi.

Nilai kembali

Mengembalikan vektor yang berisi interpolasi.

Keterangan

Pseudocode berikut menunjukkan pengoperasian fungsi:

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;

Perhatikan bahwa cukup mudah untuk menggunakan fungsi ini untuk melakukan interpolasi kubik alih-alih interpolasi linier sebagai berikut:


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 );
}

Persyaratan Platform

Microsoft Visual Studio 2010 atau Microsoft Visual Studio 2012 dengan Windows SDK untuk Windows 8. Didukung untuk aplikasi desktop Win32, aplikasi Windows Store, dan aplikasi Windows Phone 8.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header directxmath.h (termasuk DirectXMath.h)

Lihat juga

Fungsi Vektor Geometris

XMVectorLerpV