D3DXSimplifyMesh-Funktion

Generiert ein vereinfachtes Gitter mithilfe der bereitgestellten Gewichte, die so nah wie möglich an den angegebenen MinValue 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 Quellgitter darstellt.

pAdjacency [in]

Typ: Const DWORD*

Zeigen Sie auf ein Array von drei DWORDs pro Gesicht, die die drei Nachbarn für jedes Gesicht im Gitter angeben, das vereinfacht werden soll.

pVertexAttributeWeights [in]

Typ: const D3DXATTRIBUTEWEIGHTS*

Zeiger auf eine D3DXATTRIBUTEWEIGHTS-Struktur , die das Gewicht für jede Vertexkomponente 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 Vertexgewichten. Wenn dieser Parameter auf NULL festgelegt ist, werden alle Vertexgewichte auf 1,0 festgelegt.

MinValue [in]

Typ: DWORD

Anzahl von Scheitelpunkten oder Gesichtern, je nachdem, welche Kennzeichnung im Optionsparameter festgelegt ist, durch die das Quellgitter vereinfacht werden soll.

Optionen [in]

Typ: DWORD

Gibt Vereinfachungsoptionen für das Gitter an. Eine 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 eine der folgenden Sein: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY.

Hinweise

Diese Funktion generiert ein Gitter mit MinValue-Vertices oder Gesichtern.

Wenn der Vereinfachungsprozess das Gitter nicht auf MinValue reduzieren kann, ist der Aufruf weiterhin erfolgreich, da MinValue ein gewünschtes Minimum ist, nicht ein absolutes Minimum.

Wenn pVertexAttributeWeights auf NULL festgelegt ist, werden die folgenden Werte der Standardstruktur D3DXATTRIBUTEWEIGHTS 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 ist das, was die meisten Anwendungen verwenden sollten, da sie nur geometrische und normale Anpassung berücksichtigt. Nur in besonderen Fällen müssen die anderen Memberfelder geändert werden.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Mesh Funktionen