Freigeben über


D3DXTessellateTriPatch-Funktion

Tessellatiert einen dreieckigen Oberflächen patch höherer Ordnung in ein Dreiecksgeflecht.

Syntax

HRESULT D3DXTessellateTriPatch(
  _In_          LPDIRECT3DVERTEXBUFFER9 pVB,
  _In_    const FLOAT                   *pNumSegs,
  _In_    const D3DVERTEXELEMENT9       *pInDecl,
  _In_    const D3TRIPATCH_INFO         *pTriPatchInfo,
  _Inout_       LPD3DXMESH              pMesh
);

Parameter

pVB [in]

Typ: LPDIRECT3DVERTEXBUFFER9

Vertexpuffer, der die Patchdaten enthält.

pNumSegs [in]

Typ: const FLOAT*

Zeiger auf ein Array mit drei Gleitkommawerten, die die Anzahl der Segmente angeben, in die jeder Rand des Dreieckspatches unterteilt werden soll, wenn er tesselliert wird. Siehe D3DTRIPATCH_INFO.

pInDecl [in]

Typ: const D3DVERTEXELEMENT9*

Vertexdeklarationsstruktur, die die Vertexdaten definiert. Siehe D3DVERTEXELEMENT9.

pTriPatchInfo [in]

Typ: const D3TRIPATCH_INFO*

Beschreibt einen Dreieckspatch. Siehe D3DTRIPATCH_INFO.

pMesh [ein, aus]

Typ: LPD3DXMESH

Zeiger auf das erstellte Gitter. Siehe ID3DXMesh.

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, E_OUTOFMEMORY.

Bemerkungen

Verwenden Sie D3DXTriPatchSize , um die Anzahl der Ausgabevertices und Indizes abzurufen, die die Tessellationsfunktion benötigt.

Anforderungen

Anforderung Wert
Header
D3DX9Mesh.h
Bibliothek
D3dx9.lib

Siehe auch

Gitterfunktionen

D3DXTessellateRectPatch