Device.MultiplyTransform Method

Language:

Multiplies a device's world, view, or projection matrices by a specified matrix.

Definition

Visual Basic Public Sub MultiplyTransform( _
    ByVal state As TransformType, _
    ByVal matrix As Matrix _
)
C# public void MultiplyTransform(
    TransformType state,
    Matrix matrix
);
C++ public:
void MultiplyTransform(
    TransformType state,
    Matrix matrix
);
JScript public function MultiplyTransform(
    state : TransformType,
    matrix : Matrix
);

Parameters

state Microsoft.DirectX.Direct3D.TransformType
Member of the TransformType enumerated type that identifies which device matrix to modify. The most common setting, World, modifies the world matrix, but the view or projection matrices also can be modified.
matrix Microsoft.DirectX.Matrix
A Matrix structure that modifies the current transformation.

Remarks

The multiplication order is param_Matrix_matrix x param_TransformType_state.

An application might use the Device.MultiplyTransform method to work with hierarchies of transformations. For example, the geometry and transformations describing an arm might be arranged in the following hierarchy.

shoulder_transformation
    upper_arm geometry
    elbow transformation
    	lower_arm geometry
    	wrist transformation
    		hand geometry

An application might use the following series of calls to render this hierarchy. Not all the parameters are shown in this C# pseudocode.

[C#]
Device.SetTransform(TransformType.World, shoulder_transform); Device.DrawPrimitive(upper_arm); Device.MultiplyTransform(TransformType.World, elbow_transform); Device.DrawPrimitive(lower_arm); Device.MultiplyTransform(TransformType.World, wrist_transform); Device.DrawPrimitive(hand);

Exceptions
InvalidCallException The method call is invalid. For example, a method's parameter might contain an invalid value.


Send comments about this topic to Microsoft. © Microsoft Corporation. All rights reserved.

Feedback? Please provide us with your comments on this topic.
For more help, visit the DirectX Developer Center