D3DXSHPRTCompSplitMeshSC 函数

与预计算辐射传输的顶点版本的压缩结果一起使用, (PRT) 模拟器。 调用 D3DXSHPRTCompSuperCluster 后,可以使用此函数将网格拆分为每个超级群集的一组人脸/顶点。 每个超级聚类包含其一个聚类中分类的任何顶点的所有人脸。 连接到此人脸集的所有顶点也包含在返回的数组 ppVertStatus 中,该数组指示顶点是否属于超级群集。

语法

HRESULT D3DXSHPRTCompSplitMeshSC(
  _In_    UINT                          *pClusterIDs,
  _In_    UINT                          NumVertices,
  _In_    UINT                          NumCs,
  _In_    UINT                          *pSClusterIDs,
  _In_    UINT                          NumSCs,
  _In_    LPVOID                        pInputIB,
  _In_    BOOL                          InputIBIs32Bit,
  _In_    UINT                          NumFaces,
  _Inout_ LPD3DXBUFFER                  *ppIBData,
  _Inout_ UINT                          *pIBDataLength,
  _Inout_ BOOL                          OutputIBIs32Bit,
  _Inout_ LPD3DXBUFFER                  *ppFaceRemap,
  _Inout_ LPD3DXBUFFER                  *ppVertData,
  _Inout_ UINT                          *pVertDataLength,
  _Inout_ UINT                          *pSCClusterList,
  _Inout_ D3DXSHPRTSPLITMESHCLUSTERDATA *pSCData
);

参数

pClusterIDs [in]

类型: UINT*

(从压缩缓冲区中提取的 NumVertices 群集 ID。)

NumVertices [in]

类型: UINT

原始网格中的顶点数。

NumCs [in]

类型: UINT

将输入参数 (compression.)

pSClusterIDs [in]

类型: UINT*

将包含超级群集 ID 的大小 NumC 的数组。

NumSC [in]

类型: UINT

在 D3DXSHPRTCompSuperCluster 中分配的超级群集数。

pInputIB [in]

类型: LPVOID

网格的原始索引缓冲区。 格式取决于 InputIBIs32Bit

InputIBIs32Bit [in]

类型: BOOL

如果 为 TRUE,则索引缓冲区设置为 32 位;否则为 16 位。

NumFaces [in]

类型: UINT

原始网格 (pInputIB 中的人脸数是此长度的 3 倍。)

ppIBData [in, out]

类型: LPD3DXBUFFER*

将包含生成的拆分面的原始索引缓冲区。 格式由 InputIBIs32Bit 确定。 按函数分配。

pIBDataLength [in, out]

类型: UINT*

在函数中分配的 ppIBData 的长度。

OutputIBIs32Bit [in, out]

类型: BOOL

如果 为 TRUE,则分配无符号整数数组;否则,分配无符号短数组。

ppFaceRemap [in, out]

类型: LPD3DXBUFFER*

将 ppIBData 中的每个人脸映射到原始人脸。 长度为 *pIBDataLength/3。

ppVertData [in, out]

类型: LPD3DXBUFFER*

新的顶点数据结构。 pVertDataLength 的大小

pVertDataLength [in, out]

类型: UINT*

拆分网格中的新顶点数。 在 函数中分配。

pSCClusterList [in, out]

类型: UINT*

pSCData 为每个超群集) (pClusterIDs* 字段的长度 NumC 数组包含按超级群集排序的群集。

pSCData [in, out]

类型: D3DXSHPRTSPLITMESHCLUSTERDATA*

每个超级群集的结构。 包含 ppIBDatapSCClusterListppVertData 中的索引。

返回值

类型: HRESULT

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

要求

要求
标头
D3DX9Mesh.h

D3dx9.lib

另请参阅

预计算的辐射传输函数