IDirect3DDevice9::MultiplyTransform 方法 (d3d9helper.h)
将设备的世界、视图或投影矩阵乘以指定的矩阵。
语法
HRESULT MultiplyTransform(
[in] D3DTRANSFORMSTATETYPE unnamedParam1,
[in] const D3DMATRIX *unnamedParam2
);
参数
[in] unnamedParam1
D3DTRANSFORMSTATETYPE 枚举类型的成员,或标识要修改的设备矩阵的D3DTS_WORLDMATRIX宏。 最常见的设置 D3DTS_WORLDMATRIX (0) ,可修改世界矩阵,但可以根据需要指定方法修改视图或投影矩阵。
[in] unnamedParam2
类型: const D3DMATRIX*
指向修改当前转换 的D3DMATRIX 结构的指针。
返回值
类型: HRESULT
如果方法成功,则返回值D3D_OK。 如果其中一个参数无效,则D3DERR_INVALIDCALL。
注解
乘法顺序为 pMatrix times State。
应用程序可以使用 IDirect3DDevice9::MultiplyTransform 方法来处理转换的层次结构。 例如,描述 arm 的几何图形和转换可能按以下层次结构排列。
shoulder_transformation
upper_arm geometry
elbow transformation
lower_arm geometry
wrist transformation
hand geometry
应用程序可能使用以下一系列调用来呈现此层次结构。 并非所有参数都显示在此伪代码中。
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)
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |