Builds a 3D affine transformation matrix. NULL arguments are treated as identity transformations.
D3DXMATRIX * D3DXMatrixAffineTransformation( D3DXMATRIX * pOut, FLOAT Scaling, CONST D3DXVECTOR3 * pRotationCenter, CONST D3DXQUATERNION * pRotation, CONST D3DXVECTOR3 * pTranslation );
Pointer to a D3DXMATRIX structure that is an affine transformation matrix.
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 2D affine transformations, use D3DXMatrixAffineTransformation2D.
Header: Declared in D3dx9math.h.