![]() |
![]() |
![]() |
Builds a 3-D affine transformation matrix. NULL arguments are treated as identity transformations.
Syntax
D3DXMATRIX *WINAPI D3DXMatrixAffineTransformation(
D3DXMATRIX *pOut, FLOAT Scaling, 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.
- Scaling
- [in] Scaling factor.
- pRotationCenter
- [in] Pointer to a D3DXVECTOR3 structure, a point identifying the center of rotation. If this argument is NULL, an identity Mrc matrix is applied to the formula in Remarks.
- pRotation
- [in] Pointer to a D3DXQUATERNION structure that specifies the rotation. If this argument is NULL, an identity Mr matrix is applied to the formula in Remarks.
- pTranslation
- [in] Pointer to a D3DXVECTOR3 structure representing the translation. If this argument is NULL, an identity Mt matrix is applied to the formula in Remarks.
Return Value
Pointer to a D3DXMATRIX structure that is an affine transformation matrix.
Remarks
This function calculates the affine transformation matrix with the following formula, with matrix concatenation evaluated in left-to-right order:Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt
where:
Mout = output matrix (pOut)
Ms = scaling matrix (Scaling)
Mrc = center of rotation matrix (pRotationCenter)
Mr = rotation matrix (pRotation)
Mt = translation matrix (pTranslation)
The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXMatrixAffineTransformation function can be used as a parameter for another function.
For 2-D affine transformations, use D3DXMatrixAffineTransformation2D.
Function Information
Header d3dx9math.h Import library d3dx9.lib Minimum operating systems Windows 98
See Also
D3DXMatrixTransformation, Matrix Transforms