次の方法で共有


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。 引数の 1 つが無効な場合にD3DERR_INVALIDCALLします。

注釈

乗算順序は pMatrix 時間 State です。

アプリケーションでは 、IDirect3DDevice9::MultiplyTransform メソッドを使用して変換の階層を操作できます。 たとえば、アームを記述するジオメトリと変換は、次の階層に配置される場合があります。


    
    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