Platform SDK: DirectX |
Direct3DDevice7.MultiplyTransform メソッドは、デバイスのワールド、ビュー、射影行列に、指定された行列を乗算する。乗算の順は、matrix かける dstTransformStateType である。
object.MultiplyTransform( _ dstTransformStateType As CONST_D3DTRANSFORMSTATETYPE, _ matrix As D3DMATRIX)
メソッドが失敗するとエラーが発生し、Err.Number が設定される。このメソッドは、引数のいずれかが無効な場合には、DDERR_INVALIDPARAMS を返す。
アプリケーションが、トランスフォームの階層を津かテ動作するために、MultiplyTransform メソッドを使用することも考えられる。たとえば、腕を表すジオメトリとトランスフォームは、以下の階層で構成することもある。
shoulder_transformation upper_arm geometry elbow transformation lower_arm geometry wrist transformation hand geometry
アプリケーションは、この階層をレンダリングするのに、以下の一連の呼び出しを使用してもよい (この擬似コードでは、すべてのパラメータは示していない)。
Direct3DDevice7.SetTransform(D3DTRANSFORMSTATE_WORLD, shoulder_transform) Direct3DDevice7.DrawPrimitive(upper_arm) Direct3DDevice7.MultiplyTransform(D3DTRANSFORMSTATE_WORLD, elbow_transform) Direct3DDevice7.DrawPrimitive(lower_arm) Direct3DDevice7.MultiplyTransform(D3DTRANSFORMSTATE_WORLD, wrist_transform) Direct3DDevice7.DrawPrimitive(hand)