Compartir a través de


Método IDirect3DDevice9::MultiplyTransform (d3d9helper.h)

Multiplica las matrices de mundo, vista o proyección de un dispositivo por una matriz especificada.

Sintaxis

HRESULT MultiplyTransform(
  [in] D3DTRANSFORMSTATETYPE unnamedParam1,
  [in] const D3DMATRIX       *unnamedParam2
);

Parámetros

[in] unnamedParam1

Tipo: D3DTRANSFORMSTATETYPE

Miembro del tipo enumerado D3DTRANSFORMSTATETYPE o la macro D3DTS_WORLDMATRIX que identifica qué matriz de dispositivo se va a modificar. La configuración más común, D3DTS_WORLDMATRIX(0), modifica la matriz del mundo, pero puede especificar que el método modifique la vista o las matrices de proyección, si es necesario.

[in] unnamedParam2

Tipo: const D3DMATRIX*

Puntero a una estructura D3DMATRIX que modifica la transformación actual.

Valor devuelto

Tipo: HRESULT

Si el método se ejecuta correctamente, el valor devuelto es D3D_OK. D3DERR_INVALIDCALL si uno de los argumentos no es válido.

Comentarios

El orden de multiplicación es pMatrix times State.

Una aplicación podría usar el método IDirect3DDevice9::MultiplyTransform para trabajar con jerarquías de transformaciones. Por ejemplo, la geometría y las transformaciones que describen un brazo se pueden organizar en la jerarquía siguiente.


    
    shoulder_transformation
    
    upper_arm geometry
    
    elbow transformation
    
    lower_arm geometry
    
    wrist transformation
    
    hand geometry

Una aplicación podría usar la siguiente serie de llamadas para representar esta jerarquía. No todos los parámetros se muestran en este pseudocódigo.


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)

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d9helper.h (incluya D3D9.h)
Library D3D9.lib

Consulte también

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::SetTransform