Freigeben über


ID3DXBaseMesh::CloneMesh-Methode

Klont ein Gitter mit einem Deklarator.

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 Gitter angeben.

pDeclaration [in]

Typ: const D3DVERTEXELEMENT9*

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

pDevice [in]

Typ: LPDIRECT3DDEVICE9

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

ppCloneMesh [out, retval]

Typ: LPD3DXMESH*

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

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. Wenn die Methode fehlschlägt, kann der Rückgabewert einer der folgenden sein: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Bemerkungen

ID3DXBaseMesh::CloneMesh wird verwendet, um das Vertexdatenlayout neu zu formatieren und zu ändern. Dazu wird ein neues Gitterobjekt erstellt. Verwenden Sie es beispielsweise, um Platz für Normaldaten, Texturkoordinaten, Farben, Gewichte usw. hinzuzufügen. die vorher nicht vorhanden waren.

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

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Weitere Informationen

ID3DXBaseMesh

ID3DXBaseMesh::CloneMeshFVF

D3DXDeclaratorFromFVF