Método ID3DXBaseMesh::CloneMesh

Clona uma malha usando um declarador.

Sintaxe

HRESULT CloneMesh(
  [in]                DWORD             Options,
  [in]          const D3DVERTEXELEMENT9 *pDeclaration,
  [in]                LPDIRECT3DDEVICE9 pDevice,
  [out, retval]       LPD3DXMESH        *ppCloneMesh
);

Parâmetros

Opções [in]

Tipo: DWORD

Uma combinação de um ou mais sinalizadores D3DXMESH especificando opções de criação para a malha.

pDeclaration [in]

Tipo: const D3DVERTEXELEMENT9*

Uma matriz de elementos D3DVERTEXELEMENT9 , que especificam o formato de vértice para os vértices na malha de saída.

pDevice [in]

Tipo: LPDIRECT3DDEVICE9

Ponteiro para uma interface IDirect3DDevice9 , representando o objeto de dispositivo associado à malha.

ppCloneMesh [out, retval]

Tipo: LPD3DXMESH*

Endereço de um ponteiro para uma interface ID3DXMesh , representando a malha clonada.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Comentários

ID3DXBaseMesh::CloneMesh é usado para reformatar e alterar o layout de dados de vértice. Isso é feito criando um novo objeto de malha. Por exemplo, use-o para adicionar espaço para normais, coordenadas de textura, cores, pesos etc. que não estavam presentes antes.

ID3DXBaseMesh::UpdateSemantics atualiza a declaração de vértice com informações semânticas diferentes sem alterar o layout do buffer de vértice. Esse método não modifica o conteúdo do buffer de vértice. Por exemplo, use-a para relançar uma coordenada de textura 3D como um binormal ou tangente ou vice-versa.

Requisitos

Requisito Valor
parâmetro
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

ID3DXBaseMesh

ID3DXBaseMesh::CloneMeshFVF

D3DXDeclaratorFromFVF