Méthode IDirect3DDevice9 ::MultiplyTransform (d3d9.h)
Multiplie les matrices de monde, de vue ou de projection d’un appareil par une matrice spécifiée.
Syntaxe
HRESULT MultiplyTransform(
[in] D3DTRANSFORMSTATETYPE unnamedParam1,
[in] const D3DMATRIX *unnamedParam2
);
Paramètres
[in] unnamedParam1
Type : D3DTRANSFORMSTATETYPE
Membre du D3DTRANSFORMSTATETYPE type énuméré ou de la macro D3DTS_WORLDMATRIX qui identifie la matrice d’appareil à modifier. Le paramètre le plus courant, D3DTS_WORLDMATRIX(0), modifie la matrice mondiale, mais vous pouvez spécifier que la méthode modifie les matrices d’affichage ou de projection, si nécessaire.
[in] unnamedParam2
Type : const D3DMATRIX*
Pointeur vers une structure D3DMATRIX qui modifie la transformation actuelle.
Valeur retournée
Type : HRESULT
Si la méthode réussit, la valeur de retour est D3D_OK. D3DERR_INVALIDCALL si l’un des arguments n’est pas valide.
Remarques
L’ordre de multiplication est pMatrix times State.
Une application peut utiliser la méthode IDirect3DDevice9 ::MultiplyTransform pour travailler avec des hiérarchies de transformations. Par exemple, la géométrie et les transformations décrivant un bras peuvent être organisées dans la hiérarchie suivante.
shoulder_transformation
upper_arm geometry
elbow transformation
lower_arm geometry
wrist transformation
hand geometry
Une application peut utiliser la série d’appels suivante pour afficher cette hiérarchie. Tous les paramètres ne sont pas affichés dans ce pseudocode.
IDirect3DDevice9::SetTransform(D3DTS_WORLDMATRIX(0),
shoulder_transform)
IDirect3DDevice9::DrawPrimitive(upper_arm)
IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0),
elbow_transform)
IDirect3DDevice9::DrawPrimitive(lower_arm)
IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0),
wrist_transform)
IDirect3DDevice9::DrawPrimitive(hand)
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | d3d9.h (inclure D3D9.h) |
Bibliothèque | D3D9.lib |