Platform SDK: DirectX

D3DXMatrixTransformation

The D3DXMatrixTransformation function 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
A pointer to the D3DXMATRIX structure that is the result of the operation.
pScalingCenter
A pointer to a D3DXVECTOR3 structure, identifying the scaling center point. If this argument is NULL, it is treated as identity.
pScalingRotation
A pointer to a D3DXQUATERNION structure, specifying the scaling rotation If this argument is NULL, it is treated as identity.
pScaling
A pointer to a D3DXVECTOR3 structure, the scaling vector. If this argument is NULL, it is treated as identity.
pRotationCenter
A pointer to a D3DXVECTOR3 structure, a point identifying the center of rotation. If this argument is NULL, it is treated as identity.
pRotation
A pointer to a D3DXQUATERNION structure, specifying the rotation. If this argument is NULL, it is treated as identity.
pTranslation
A pointer to a D3DXVECTOR3 structure, representing the translation. If this argument is NULL, it is treated as identity.

Return Values

A 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

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

See Also

D3DXMatrixAffineTransformation