IDirect3DDevice8::MultiplyTransform
This method multiplies a device's world, view, or projection matrices by a specified matrix.
HRESULT MultiplyTransform(
D3DTRANSFORMSTATETYPE State,
CONST D3DMATRIX* pMatrix
);
Parameters
- State
[in] Member of the D3DTRANSFORMSTATETYPE enumerated type, or the D3DTS_WORLDMATRIX macro that identifies which device matrix is to be modified. The most common setting, D3DTS_WORLDMATRIX(0), modifies the world matrix, but you can specify that the method modify the view or projection matrices, if needed. - pMatrix
[in] Pointer to a D3DMATRIX structure that modifies the current transformation.
Return Values
If the method succeeds, the return value is D3D_OK.
D3DERR_INVALIDCALL if one of the arguments is invalid.
Remarks
The multiplication order is pMatrix times State.
An application might use the MultiplyTransform method to work with hierarchies of transformations. For example, the geometry and transformations describing an arm might be arranged in the following hierarchy:
shoulder_transformation
upper_arm geometry
elbow transformation
lower_arm geometry
wrist transformation
hand geometry
An application might use the following series of calls to render this hierarchy. Not all the parameters are shown in this pseudocode.
IDirect3DDevice8::SetTransform(D3DTS_WORLDMATRIX(0),
shoulder_transform)
IDirect3DDevice8::DrawPrimitive(upper_arm)
IDirect3DDevice8::MultiplyTransform(D3DTS_WORLDMATRIX(0),
elbow_transform)
IDirect3DDevice8::DrawPrimitive(lower_arm)
IDirect3DDevice8::MultiplyTransform(D3DTS_WORLDMATRIX(0),
wrist_transform)
IDirect3DDevice8::DrawPrimitive(hand)
Requirements
OS Versions: Windows CE .NET 4.0 and later.
Header: D3d8.h.
Link Library: D3d8.lib.
See Also
IDirect3DDevice8::DrawPrimitive | IDirect3DDevice8::SetTransform | D3DTRANSFORMSTATETYPE | D3DTS_WORLD | D3DTS_WORLDn | D3DTS_WORLDMATRIX | D3DMATRIX | IDirect3DDevice8
Last updated on Thursday, April 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.