DirectX SDK

D3DXVec3Hermite

The D3DXVec3Hermite function performs a Hermite spline interpolation, using the specified 3-D vectors.

D3DXVECTOR3* D3DXVec3Hermite(
  D3DXVECTOR3* pOut,
  const D3DXVECTOR3* pV1,
  const D3DXVECTOR3* pT1,
  const D3DXVECTOR3* pV2,
  const D3DXVECTOR3* pT2,
  float s
); 

Parameters

pOut
A pointer to the D3DXVECTOR3 structure that is the result of the operation.
pV1
A pointer to a source D3DXVECTOR3 structure, a position vector.
pT1
A pointer to a source D3DXVECTOR3 structure, a tangent vector.
pV2
A pointer to a source D3DXVECTOR3 structure, a position vector.
pT2
A pointer to a source D3DXVECTOR3 structure, a tangent vector.
s
A weighting factor. See remarks.

Return Values

A pointer to a D3DXVECTOR3 structure that is the result of the Hermite spline interpolation.

Remarks

The D3DXVec3Hermite function interpolates from (positionA, tangentA) to (positionB, tangentB) using hermite spline interpolation. This function interpolates between the position V1 and the tangent T1 (when s is equal to zero) and between the position V2 and the tangent T2 (when s is equal to one).

Hermite splines are useful for controlling animation, since the curve runs through all the control points. Also, since the position and tangent are explicitly specified at the ends of each segment, it is easy to create a C2 continuous curve as long as you make sure that your starting position and tangent match the ending values of the last segment.

The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXVec3Hermite function can be used as a parameter for another function.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Version: Requires DirectX 7.0.
  Header: Declared in d3dxmath.h.
  Library: Use d3dx.lib.