D3DXTessellateTriPatch 函数

将三角形高阶表面贴片分割成三角形网格。

语法

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

参数

pVB [in]

类型: LPDIRECT3DVERTEXBUFFER9

包含修补程序数据的顶点缓冲区。

pNumSegs [in]

类型: const FLOAT*

指向由三个浮点值构成的数组的指针,这些值标识分割时三角形补丁的每个边缘应划分到的段数。 请参阅 D3DTRIPATCH_INFO

pInDecl [in]

类型: const D3DVERTEXELEMENT9*

定义顶点数据的顶点声明结构。 请参阅 D3DVERTEXELEMENT9

pTriPatchInfo [in]

类型: const D3TRIPATCH_INFO*

描述三角形补丁。 请参阅 D3DTRIPATCH_INFO

pMesh [in, out]

类型: LPD3DXMESH

指向创建的网格的指针。 请参阅 ID3DXMesh

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、E_OUTOFMEMORY。

备注

使用 D3DXTriPatchSize 获取分割函数所需的输出顶点和索引数。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

网格函数

D3DXTessellateRectPatch