D3DXTessellateNPatches 函数

使用 N 补丁分割方案细化给定的网格。

语法

HRESULT D3DXTessellateNPatches(
  _In_        LPD3DXMESH   pMeshIn,
  _In_  const CONST DWORD  *pAdjacencyIn,
  _In_        FLOAT        NumSegs,
  _In_        BOOL         QuadraticInterpNormals,
  _Out_       LPD3DXMESH   *ppMeshOut,
  _Out_       LPD3DXBUFFER *ppAdjacencyOut
);

parameters

pMeshIn [in]

类型: LPD3DXMESH

指向 ID3DXMesh 接口的指针,表示要 tessellate 的网格。

pAdjacencyIn [in]

类型: const CONST DWORD*

指向每个面三个 DWORD 数组的指针,该数组为源网格中的每个人脸指定三个邻居。 此参数可以为 NULL

NumSegs [in]

类型: FLOAT

每条边到细数的段数。

QuadraticInterpNormals [in]

类型: BOOL

设置为 TRUE 可对法线使用二次内插;对于线性内插,设置为 FALSE

ppMeshOut [out]

类型: LPD3DXMESH*

指向 ID3DXMesh 接口的指针的地址,表示返回的细化网格。

ppAdjacencyOut [out]

类型: LPD3DXBUFFER*

指向 ID3DXBuffer 接口的指针的地址。 如果此参数的值未设置为 NULL,则此缓冲区将包含每个面三个 DWORD 的数组,该数组为输出网格中的每个人脸指定三个邻居。 此参数可以为 NULL

返回值

类型: HRESULT

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

备注

此函数使用 N 补丁算法进行细化。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

请参阅

网格函数