Function directx_math::XMVectorHermiteV[][src]

pub fn XMVectorHermiteV(
    Position0: FXMVECTOR,
    Tangent0: FXMVECTOR,
    Position1: FXMVECTOR,
    Tangent1: GXMVECTOR,
    T: HXMVECTOR
) -> XMVECTOR

Performs a Hermite spline interpolation, using the specified vectors.

Parameters

Position0 First position to interpolate from.

Tangent0 Tangent vector for the first position.

Position1 Second position to interpolate from.

Tangent1 Tangent vector for the second position.

T Interpolating control factor with each component corresponding to a term of the Hermite equation.

Return value

Returns a vector containing the interpolation.

Remarks

This function is identical to XMVectorHermite except that independent weighting factors may be supplied in T. As an example, you might want to calculate two sets of Hermite spline interpolation, using the x and y-components of the position vectors for one set of 2D positions and the z and w-components of the position vectors for the other set of 2D positions. The x and y-components of T would determine the interpolation factors for the first Hermite spline interpolation. Similarly, the z and w-components of T would determine the interpolation factors for the second Hermite spline interpolation.

The following pseudocode demonstrates the operation of the function:

Result[i] = (2*(T.x)^3 - 3*(T.x)^2 + 1) * Position0.[i]
          + ((T.y)^3 - 2*(T.y)^2 + (T.y)) * Tangent0.[i]
          + (-2*(T.z)^3 + 3*(T.z)^2) * Position1.[i]
          + ((T.w)^3 - *(T.w)^2) * Tangent1.[i]

Reference

https://docs.microsoft.com/en-us/windows/win32/api/directxmath/nf-directxmath-XMVectorHermiteV