ID3DXMATRIXStack::RotateAxis

Rotates (relative to world coordinate space) around an arbitrary axis.

HRESULT RotateAxis(
  CONST D3DXVECTOR3 * pV,
  FLOAT Angle
);

Parameters

pV
[in] Pointer to the arbitrary axis of rotation. See D3DXVECTOR3.
Angle
[in] Rotation angle about the arbitrary axis, in radians. Angles are measured counterclockwise when looking along the arbitrary axis toward the origin.

Return Values

If the method succeeds, the return value is D3D_OK. If the method fails, the return value can be D3DERR_INVALIDCALL.

Remarks

This method adds the rotation to the matrix stack with the computed rotation matrix similar to the following:

D3DXMATRIX tmp;
D3DXMatrixRotationAxis( &tmp, pV, angle );
m_stack[m_currentPos] = m_stack[m_currentPos] * tmp;

Because the rotation is right-multiplied to the matrix stack, the rotation is relative to world coordinate space.

Requirements

Header: Declared in D3dx9math.h.

See Also

D3DXMatrixRotationAxis, ID3DXMATRIXStack::RotateAxisLocal, ID3DXMATRIXStack::RotateYawPitchRoll, ID3DXMATRIXStack::RotateYawPitchRollLocal