D3DXUVAtlasPack 函数

将网格分区数据打包到 atlas 中。

语法

HRESULT D3DXUVAtlasPack(
  _In_       LPD3DXMESH      pMesh,
  _In_       UINT            dwWidth,
  _In_       UINT            dwHeight,
  _In_       FLOAT           fGutter,
  _In_       DWORD           dwTextureIndex,
       const DWORD           *pdwPartitionResultAdjacency,
  _In_       LPD3DXUVATLASCB pCallback,
  _In_       FLOAT           fCallbackFrequency,
  _In_       LPVOID          pUserContent,
  _In_       DWORD           dwOptions,
  _In_       LPD3DXBUFFER    pFacePartitioning
);

parameters

pMesh [in]

类型: LPD3DXMESH

指向输入网格的指针 (请参阅 ID3DXMesh) ,其中包含用于计算地图集的对象几何图形。 网格必须至少包含位置数据和 2D 纹理坐标。

dwWidth [in]

类型: UINT

纹理宽度。

dwHeight [in]

类型: UINT

纹理高度。

fGutter [in]

类型: FLOAT

地图集上两个图表之间的最小距离(以纹素为单位)。 装订线始终按宽度缩放;因此,如果在 512x512 纹理上使用 2.5 的装订线,则两个图表之间的最小距离为 2.5 /512.0 纹素。

dwTextureIndex [in]

类型: DWORD

从零开始的纹理坐标索引,用于标识要使用的纹理坐标集。

pdwPartitionResultAdjacency

类型: const DWORD*

指向每个面三个 DWORD 数组的指针,该数组指定网格中每个人脸的三个邻居。 它应派生自从 D3DXUVAtlasPartition 返回的 ppPartitionResultAdjacency。 此值不能为 NULL,因为 Pack 需要知道图表在分区步骤中的剪切位置才能找到每个图表的边缘。

pCallback [in]

类型: LPD3DXUVATLASCB

指向回调函数的指针 (请参阅对监视进度有用的 LPD3DXUVATLASCB) 。

fCallbackFrequency [in]

类型: FLOAT

指定 D3DX 调用回调的频率;合理的默认值为 0.0001f。

pUserContent [in]

类型: LPVOID

要传递回回调函数的 void 指针。

dwOptions [in]

类型: DWORD

此选项参数当前是保留的。

pFacePartitioning [in]

类型: LPD3DXBUFFER

指向 ID3DXBuffer 的指针,该 ID3DXBuffer 包含最终人脸分区的数组。 每个元素每个面包含一个 DWORD。

返回值

类型: HRESULT

如果函数成功,则返回值D3D_OK;否则,该值为D3DERR_INVALIDCALL。

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

UVAtlas 函数