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。 引数の 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 |