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。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅