Compartilhar via


Função D3DXSHPRTCompSplitMeshSC

Usado com resultados compactados da versão de vértice do simulador prt (transferência de radiação pré-computada). Depois que D3DXSHPRTCompSuperCluster for chamado, essa função poderá ser usada para dividir a malha em um grupo de faces/vértices por super cluster. Cada super cluster contém todos os rostos que contêm qualquer vértice classificado em um de seus clusters. Todos os vértices conectados a esse conjunto de faces também são incluídos com a matriz retornada ppVertStatus indicando se o vértice pertence ou não ao super cluster.

Sintaxe

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
);

Parâmetros

pClusterIDs [in]

Tipo: UINT*

IDs de cluster NumVertices (extraídas de um buffer compactado.)

NumVertices [in]

Tipo: UINT

Número de vértices na malha original.

NumCs [in]

Tipo: UINT

Número de clusters (parâmetro de entrada para compactação.)

pSClusterIDs [in]

Tipo: UINT*

Matriz de NumCs de tamanho que conterá IDs de super cluster.

NumSCs [in]

Tipo: UINT

Número de super clusters alocados em D3DXSHPRTCompSuperCluster.

pInputIB [in]

Tipo: LPVOID

Buffer de índice bruto para malha. O formato depende de InputIBIs32Bit.

InputIBIs32Bit [in]

Tipo: BOOL

Se TRUE, o buffer de índice será definido como 32 bits; caso contrário, 16 bits.

NumFaces [in]

Tipo: UINT

Número de faces na malha original (pInputIB é 3 vezes esse comprimento.)

ppIBData [in, out]

Tipo: LPD3DXBUFFER*

Buffer de índice bruto que conterá as faces divididas resultantes. Formato determinado por InputIBIs32Bit. Alocado por função.

pIBDataLength [in, out]

Tipo: UINT*

Comprimento de ppIBData, atribuído na função .

OutputIBIs32Bit [in, out]

Tipo: BOOL

Se TRUE, aloca uma matriz de inteiros sem sinal; caso contrário, aloca uma matriz curta sem sinal.

ppFaceRemap [in, out]

Tipo: LPD3DXBUFFER*

Mapeamento de cada rosto em ppIBData para rostos originais. O comprimento é *pIBDataLength/3.

ppVertData [in, out]

Tipo: LPD3DXBUFFER*

Nova estrutura de dados de vértice. Tamanho de pVertDataLength.

pVertDataLength [in, out]

Tipo: UINT*

Número de novos vértices na malha dividida. Atribuído na função .

pSCClusterList [in, out]

Tipo: UINT*

Matriz de NumCs de comprimento em que pSCData indexa (campos pClusterIDs*) para cada supercluster, contém clusters classificados por supercluster.

pSCData [in, out]

Tipo: D3DXSHPRTSPLITMESHCLUSTERDATA*

Estrutura por super cluster. Contém índices em ppIBData, pSCClusterList e ppVertData.

Valor retornado

Tipo: HRESULT

Se a função for bem-sucedida, o valor retornado será D3D_OK. Se a função falhar, o valor retornado poderá ser um dos seguintes: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.

Requisitos

Requisito Valor
parâmetro
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Confira também

Funções de transferência de radiação pré-computadas