Partager via


ID3DXMATRIXStack::RotateAxis, méthode (D3dx9math.h)

Notes

La bibliothèque d’utilitaireS D3DX est déconseillée. Nous vous recommandons d’utiliser DirectXMath à la place avec cet en-tête de GitHub.

Effectue une rotation (par rapport à l’espace de coordonnées du monde) autour d’un axe arbitraire.

Syntaxe

HRESULT RotateAxis(
  [in] const D3DXVECTOR3 *pV,
  [in]       FLOAT       Angle
);

Paramètres

pV [in]

Type : const D3DXVECTOR3*

Pointeur vers l’axe de rotation arbitraire. Consultez D3DXVECTOR3.

Angle [in]

Type : FLOAT

Angle de rotation sur l’axe arbitraire, en radians. Les angles sont mesurés dans le sens inverse des aiguilles d’une montre lorsque vous regardez le long de l’axe arbitraire vers l’origine.

Valeur retournée

Type : HRESULT

Si la méthode réussit, la valeur de retour est D3D_OK. Si la méthode échoue, la valeur de retour peut être D3DERR_INVALIDCALL.

Notes

Cette méthode ajoute la rotation à la pile matricielle avec la matrice de rotation calculée semblable à ce qui suit :

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

Étant donné que la rotation est multipliée à droite sur la pile de matrices, la rotation est relative à l’espace de coordonnées du monde.

Spécifications

Condition requise Valeur
En-tête
D3dx9math.h
Bibliothèque
D3dx9.lib

Voir aussi

ID3DXMATRIXStack

D3DXMatrixRotationAxis

ID3DXMATRIXStack::RotateAxisLocal

ID3DXMATRIXStack::RotateYawPitchRoll

ID3DXMATRIXStack::RotateYawPitchRollLocal