Condividi tramite


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

Vedi anche

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::D rawPrimitive

IDirect3DDevice9::SetTransform