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
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 |