Compartilhar via


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

Multiplica o mundo, a exibição ou as matrizes de projeção de um dispositivo por uma matriz especificada.

Sintaxe

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

Parâmetros

[in] unnamedParam1

Tipo: D3DTRANSFORMSTATETYPE

Membro do D3DTRANSFORMSTATETYPE tipo enumerado ou a macro D3DTS_WORLDMATRIX que identifica qual matriz de dispositivos deve ser modificada. A configuração mais comum, D3DTS_WORLDMATRIX(0), modifica a matriz mundial, mas você pode especificar que o método modifique as matrizes de exibição ou projeção, se necessário.

[in] unnamedParam2

Tipo: const D3DMATRIX*

Ponteiro para uma estrutura D3DMATRIX que modifica a transformação atual.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. D3DERR_INVALIDCALL se um dos argumentos for inválido.

Comentários

A ordem de multiplicação é pMatrix times State.

Um aplicativo pode usar o método IDirect3DDevice9::MultiplyTransform para trabalhar com hierarquias de transformações. Por exemplo, a geometria e as transformações que descrevem um braço podem ser organizadas na hierarquia a seguir.


    
    shoulder_transformation
    
    upper_arm geometry
    
    elbow transformation
    
    lower_arm geometry
    
    wrist transformation
    
    hand geometry

Um aplicativo pode usar a série de chamadas a seguir para renderizar essa hierarquia. Nem todos os parâmetros são mostrados neste 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 Valor
Plataforma de Destino Windows
Cabeçalho d3d9helper.h (inclua D3D9.h)
Biblioteca D3D9.lib

Confira também

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::SetTransform