D3DXMatrixDecompose

Breaks down a general 3D transformation matrix into its scalar, rotational, and translational components.

HRESULT D3DXMatrixDecompose(
  D3DXVECTOR3 * pOutScale,
  D3DXQUATERNION * pOutRotation,
  D3DXVECTOR3 * pOutTranslation,
  CONST D3DXMATRIX * pM
);

Parameters

pOutScale
[in, out] Pointer to the output D3DXVECTOR3 that contains scaling factors applied along the x, y, and z-axes.
pOutRotation
[in, out] Pointer to the D3DXQUATERNION structure that describes the rotation.
pOutTranslation
[in, out] Pointer to the D3DXVECTOR3 vector that describes the translation.
pM
[in] Pointer to an input D3DXMATRIX matrix to decompose.

Return Values

If the function succeeds, the return value is S_OK. If the function fails, the return value can be the following: D3DERR_INVALIDCALL.

Requirements

Header: Declared in D3dx9math.h.