D3DXSimplifyMesh-Funktion
Generiert ein vereinfachtes Gitter unter Verwendung der bereitgestellten Gewichte, die dem angegebenen MinValue so nahe wie möglich 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*
Zeiger auf ein Array von drei DWORDs pro Gesicht, das die drei Nachbarn für jedes Gesicht im zu vereinfachenden Gitter angibt.
-
pVertexAttributeWeights [in]
-
Typ: const D3DXATTRIBUTEWEIGHTS*
Zeiger auf eine D3DXATTRIBUTEWEIGHTS-Struktur , die die Gewichtung 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 Scheitelpunktgewichten. Wenn dieser Parameter auf NULL festgelegt ist, werden alle Vertexgewichtungen auf 1,0 festgelegt.
-
MinValue [in]
-
Typ: DWORD
Anzahl von Scheitelpunkten oder Gesichtern, abhängig vom Flag, das im Options-Parameter festgelegt ist, um das Quellgitter 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, wird 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 Gitter mit MinValue-Scheitelpunkten oder -gesichtern.
Wenn der Vereinfachungsprozess das Gitternetz 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 die folgenden Werte der D3DXATTRIBUTEWEIGHTS-Standardstruktur 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 sie nur geometrische und normale Anpassungen berücksichtigt. Nur in besonderen Fällen müssen die anderen Memberfelder geändert werden.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|
Bibliothek |
|
Siehe auch