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 |
|
| Bibliothek |
|