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 |