Platform SDK: DirectX

Direct3DDevice7.MultiplyTransform

Direct3DDevice7.MultiplyTransform メソッドは、デバイスのワールド、ビュー、射影行列に、指定された行列を乗算する。乗算の順は、matrix かける dstTransformStateType である。

object.MultiplyTransform( _ 
    dstTransformStateType As CONST_D3DTRANSFORMSTATETYPE, _ 
    matrix As D3DMATRIX)

パラメータ

object
Direct3DDevice7 オブジェクトを表すオブジェクト式。
dstTransformStateType
修正するデバイス 行列を示す。このパラメータは、CONST_D3DTRANSFORMSTATETYPE 列挙の任意の定数にすることができる。最も一般的な設定は D3DTRANSFORMSTATE_WORLD で、ワールド行列を変更するが、必要であれば、ビュー行列や射影行列を変更するように指定することもできる。
matrix
現在のトランスフォームを修正する 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)

参照

Direct3DDevice7.DrawPrimitiveDirect3DDevice7.SetTransform