Microsoft DirectX 8.1 (C++)

D3DXMatrixTransformation

Builds a transformation matrix.

D3DXMATRIX* D3DXMatrixTransformation(
  D3DXMATRIX* pOut,
  CONST D3DXVECTOR3* pScalingCenter,
  CONST D3DXQUATERNION* pScalingRotation,
  CONST D3DXVECTOR3* pScaling,
  CONST D3DXVECTOR3* pRotationCenter,
  CONST D3DXQUATERNION* pRotation,
  CONST D3DXVECTOR3* pTranslation
); 

Parameters

pOut
[in, out] Pointer to the D3DXMATRIX structure that is the result of the operation.
pScalingCenter
[in] Pointer to a D3DXVECTOR3 structure, identifying the scaling center point. If this argument is NULL, it is treated as identity.
pScalingRotation
[in] Pointer to a D3DXQUATERNION structure that specifies the scaling rotation If this argument is NULL, it is treated as identity.
pScaling
[in] Pointer to a D3DXVECTOR3 structure, the scaling vector. If this argument is NULL, it is treated as identity.
pRotationCenter
[in] Pointer to a D3DXVECTOR3 structure, a point that identifies the center of rotation. If this argument is NULL, it is treated as identity.
pRotation
[in] Pointer to a D3DXQUATERNION structure that specifies the rotation. If this argument is NULL, it is treated as identity.
pTranslation
[in] Pointer to a D3DXVECTOR3 structure, representing the translation. If this argument is NULL, it is treated as identity.

Return Values

Pointer to a D3DXMATRIX structure that is the transformation matrix.

Remarks

The D3DXMatrixTransformation function calculates the transformation matrix with the following formula: (Msc)-1 * (Msr)-1 * Ms * Msr * Msc * (Mrc)-1 * Mr * Mrc * Mt, where Msc is the center scaling matrix, Msr is the scaling rotation matrix, Ms is the scaling matrix, Mrc is the center of rotation matrix, Mr is the rotation matrix, and Mt is the translation matrix.

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

Requirements

  Header: Declared in D3dx8math.h.
  Import Library: Use D3dx8.lib.

See Also

D3DXMatrixAffineTransformation