Partager via


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

Voir aussi

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9 ::D rawPrimitive

IDirect3DDevice9 ::SetTransform