Freigeben über


IDirect3DDevice9::MultiplyTransform-Methode (d3d9helper.h)

Multipliziert die Welt-, Ansichts- oder Projektionsmatrizen eines Geräts mit einer angegebenen Matrix.

Syntax

HRESULT MultiplyTransform(
  [in] D3DTRANSFORMSTATETYPE unnamedParam1,
  [in] const D3DMATRIX       *unnamedParam2
);

Parameter

[in] unnamedParam1

Typ: D3DTRANSFORMSTATETYPE

Mitglied des D3DTRANSFORMSTATETYPE aufgezählten Typs oder des D3DTS_WORLDMATRIX Makros, das identifiziert, welche Gerätematrix geändert werden soll. Die am häufigsten verwendete Einstellung D3DTS_WORLDMATRIX(0) ändert die Weltmatrix. Sie können jedoch angeben, dass die Methode bei Bedarf die Ansichts- oder Projektionsmatrizen ändert.

[in] unnamedParam2

Typ: const D3DMATRIX*

Zeiger auf eine D3DMATRIX-Struktur , die die aktuelle Transformation ändert.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. D3DERR_INVALIDCALL, wenn eines der Argumente ungültig ist.

Hinweise

Die Multiplikationsreihenfolge ist pMatrix mal State.

Eine Anwendung kann die IDirect3DDevice9::MultiplyTransform-Methode verwenden, um mit Transformationshierarchien zu arbeiten. Beispielsweise können die Geometrie und Transformationen, die einen Arm beschreiben, in der folgenden Hierarchie angeordnet werden.


    
    shoulder_transformation
    
    upper_arm geometry
    
    elbow transformation
    
    lower_arm geometry
    
    wrist transformation
    
    hand geometry

Eine Anwendung kann die folgende Reihe von Aufrufen verwenden, um diese Hierarchie zu rendern. Nicht alle Parameter werden in diesem Pseudocode angezeigt.


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)

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d9helper.h (einschließlich D3D9.h)
Bibliothek D3D9.lib

Weitere Informationen

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::SetTransform