Metodo IDirect3DDevice9::MultiplyTransform (d3d9helper.h)
Moltiplica il mondo, la visualizzazione o le matrici di proiezione di un dispositivo in base a una matrice specificata.
Sintassi
HRESULT MultiplyTransform(
[in] D3DTRANSFORMSTATETYPE unnamedParam1,
[in] const D3DMATRIX *unnamedParam2
);
Parametri
[in] unnamedParam1
Tipo: D3DTRANSFORMSTATETYPE
Membro del tipo enumerato D3DTRANSFORMSTATETYPE o della macro D3DTS_WORLDMATRIX che identifica la matrice del dispositivo da modificare. L'impostazione più comune , D3DTS_WORLDMATRIX(0), modifica la matrice globale, ma è possibile specificare che il metodo modifica le matrici di visualizzazione o proiezione, se necessario.
[in] unnamedParam2
Tipo: const D3DMATRIX*
Puntatore a una struttura D3DMATRIX che modifica la trasformazione corrente.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene D3D_OK. D3DERR_INVALIDCALL se uno degli argomenti non è valido.
Commenti
L'ordine di moltiplicazione è pMatrix times State.
Un'applicazione potrebbe usare il metodo IDirect3DDevice9::MultiplyTransform per lavorare con gerarchie di trasformazioni. Ad esempio, le trasformazioni e la geometria che descrivono un braccio potrebbero essere disposte nella gerarchia seguente.
shoulder_transformation
upper_arm geometry
elbow transformation
lower_arm geometry
wrist transformation
hand geometry
Un'applicazione può usare la serie di chiamate seguenti per eseguire il rendering di questa gerarchia. Non tutti i parametri sono visualizzati in questo pseudocodice.
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)
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |