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 |
|
Biblioteca |
|
Confira também