D3DXTessellateTriPatch

Tessellates a triangular higher-order surface patch into a triangle mesh.

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

Parameters

pVB
[in] Vertex buffer containing the patch data.
pNumSegs
[in] Pointer to an array of three floating-point values that identify the number of segments into which each edge of the triangle patch should be divided when tessellated. See D3DTRIPATCH_INFO.
pInDecl
[in] Vertex declaration structure that defines the vertex data. See D3DVERTEXELEMENT9.
pTriPatchInfo
[in] Describes a triangle patch. See D3DTRIPATCH_INFO.
pMesh
[in, out] Pointer to the created mesh. See ID3DXMesh.

Return Values

If the function succeeds, the return value is D3D_OK. If the function fails, the return value can be one of the following: D3DERR_INVALIDCALL, E_OUTOFMEMORY.

Remarks

Use D3DXTriPatchSize to get the number of output vertices and indices that the tessellation function needs.

Requirements

Header: Declared in D3dx9mesh.h.

See Also

D3DXTessellateRectPatch