ID3DXBaseMesh::CloneMesh-Methode

Klont ein Gitternetz mithilfe eines Deklarators.

Syntax

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

Parameter

Optionen [ In]

Typ: DWORD

Eine Kombination aus einem oder mehreren D3DXMESH-Flags, die Erstellungsoptionen für das Gitternetz angeben.

pDeclaration [ In]

Typ: const D3DVERTEXELEMENT9 *

Ein Array von D3DVERTEXELEMENT9-Elementen, die das Scheitelpunktformat für die Scheitelpunkte im Ausgabegitternetz angeben.

pDevice [ In]

Typ: LPDIRECT3DDEVICE9

Zeiger auf eine IDirect3DDevice9-Schnittstelle, die das dem Gittermodell zugeordnete Geräteobjekt darstellt.

ppCloneMesh [ out, retval]

Typ: LPD3DXMESH*

Adresse eines Zeigers auf eine ID3DXMesh-Schnittstelle, die das geklonte Gitternetz darstellt.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, lautet der Rückgabewert D3D _ OK. Wenn die Methode fehlschlägt, kann der Rückgabewert einer der folgenden Werte sein: D3DERR _ INVALIDCALL, E _ OUTOFMEMORY.

Hinweise

ID3DXBaseMesh::CloneMesh wird verwendet, um das Vertexdatenlayout neu zu formatiert und zu ändern. Dies erfolgt durch Erstellen eines neuen Gittermodellobjekts. Verwenden Sie es beispielsweise, um Platz für Normalitäten, Texturkoordinaten, Farben, Gewichtungen usw. hinzuzufügen, die zuvor nicht vorhanden waren.

ID3DXBaseMesh::UpdateSemantics aktualisiert die Scheitelpunktdeklaration mit unterschiedlichen semantischen Informationen, ohne das Layout des Scheitelpunktpuffers zu ändern. Diese Methode ändert den Inhalt des Scheitelpunktpuffers nicht. Verwenden Sie sie beispielsweise, um eine 3D-Texturkoordinate als binormal oder Tangens neu zu bezeichnen oder umgekehrt.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Weitere Informationen

ID3DXBaseMesh

ID3DXBaseMesh::CloneMeshFVF

D3DXDeclaratorFromFVF