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