D3DXSimplifyMesh-Funktion

Generiert ein vereinfachtes Gitternetz mithilfe der bereitgestellten Gewichtungen, die dem angegebenen MinValue möglichst nahe kommen.

Syntax

HRESULT D3DXSimplifyMesh(
  _In_        LPD3DXMESH           pMesh,
  _In_  const DWORD                *pAdjacency,
  _In_  const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
  _In_  const FLOAT                *pVertexWeights,
  _In_        DWORD                MinValue,
  _In_        DWORD                Options,
  _Out_       LPD3DXMESH           *ppMesh
);

Parameter

pMesh [ In]

Typ: LPD3DXMESH

Zeiger auf eine ID3DXMesh-Schnittstelle, die das Quellgitternetz darstellt.

pAdjacency [ In]

Typ: const DWORD *

Zeiger auf ein Array von drei DWORDs pro Gesicht, die die drei Nachbarn für jedes Gesicht im Gitternetz angeben, die vereinfacht werden sollen.

pVertexAttributeWeights [ In]

Typ: const D3DXATTRIBUTEWEIGHTS *

Zeiger auf eine D3DXATTRIBUTEWEIGHTS-Struktur, die die Gewichtung für jede Scheitelpunktkomponente enthält. Wenn dieser Parameter auf NULL festgelegt ist, wird eine Standardstruktur verwendet. Siehe Hinweise.

pVertexWeights [ In]

Typ: const FLOAT *

Zeiger auf ein Array von Scheitelpunktgewichtungen. Wenn dieser Parameter auf NULL festgelegt ist, werden alle Scheitelpunktgewichtungen auf 1,0 festgelegt.

MinValue [ In]

Typ: DWORD

Anzahl von Scheitelzeichen oder Gesichtern, je nach flag, das im Options-Parameter festgelegt ist, um das Quellgitternetz zu vereinfachen.

Optionen [ In]

Typ: DWORD

Gibt Vereinfachungsoptionen für das Gitternetz an. Eines der Flags in D3DXMESHSIMP kann festgelegt werden.

ppMesh [ out]

Typ: LPD3DXMESH*

Adresse eines Zeigers auf eine ID3DXMesh-Schnittstelle, die das zurückgegebene Vereinfachungsgitter darstellt.

Rückgabewert

Typ: HRESULT

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

Bemerkungen

Diese Funktion generiert ein Gitternetz mit MinValue-Scheitelwerten oder Gesichtern.

Wenn der Vereinfachungsprozess das Netz nicht auf MinValue reduzieren kann, ist der Aufruf trotzdem erfolgreich, da MinValue ein gewünschtes Minimum und kein absolutes Minimum ist.

Wenn pVertexAttributeWeights auf NULL festgelegt ist, werden der D3DXATTRIBUTEWEIGHTS-Standardstruktur die folgenden Werte zugewiesen.

D3DXATTRIBUTEWEIGHTS AttributeWeights;
    
AttributeWeights.Position  = 1.0;
AttributeWeights.Boundary =  1.0;
AttributeWeights.Normal   =  1.0;
AttributeWeights.Diffuse  =  0.0;
AttributeWeights.Specular =  0.0;
AttributeWeights.Tex[8]   =  {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};

Diese Standardstruktur sollte von den meisten Anwendungen verwendet werden, da nur geometrische und normale Anpassungen berücksichtigt werden. Nur in Sonderfällen müssen die anderen Memberfelder geändert werden.

Requirements (Anforderungen)

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Weitere Informationen

Mesh-Funktionen