IDirect3DDevice9::MultiplyTransform 方法 (d3d9helper.h)

将设备的世界、视图或投影矩阵乘以指定的矩阵。

语法

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

参数

[in] unnamedParam1

类型: D3DTRANSFORMSTATETYPE

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

另请参阅

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::SetTransform