Compartilhar via


Método ID3DXSkinInfo::ConvertToIndexedBlendedMesh

Usa uma malha e retorna uma nova malha com pesos de mistura por vértice, índices e uma tabela de combinação óssea. A tabela descreve quais paletas ósseas afetam quais subconjuntos da malha.

Sintaxe

HRESULT ConvertToIndexedBlendedMesh(
  [in]        LPD3DXMESH   pMesh,
  [in]        DWORD        Options,
  [in]        DWORD        paletteSize,
  [in]  const DWORD        *pAdjacencyIn,
  [in]        LPDWORD      pAdjacencyOut,
  [out]       DWORD        *pFaceRemap,
  [out]       LPD3DXBUFFER *ppVertexRemap,
  [out]       DWORD        *pMaxVertexInfl,
  [out]       DWORD        *pNumBoneCombinations,
  [out]       LPD3DXBUFFER *ppBoneCombinationTable,
  [out]       LPD3DXMESH   *ppMesh
);

Parâmetros

pMesh [in]

Tipo: LPD3DXMESH

A malha de entrada. Consulte ID3DXMesh.

Opções [in]

Tipo: DWORD

Atualmente não utilizado.

paletteSize [in]

Tipo: DWORD

Número de matrizes ósseas disponíveis para esfolação da paleta de matrizes.

pAdjacencyIn [in]

Tipo: const DWORD*

Informações de adjacência da malha de entrada.

pAdjacencyOut [in]

Tipo: LPDWORD

Informações de adjacência da malha de saída.

pFaceRemap [out]

Tipo: DWORD*

Uma matriz de DWORDs, uma por rosto, que identifica a face de malha original que corresponde a cada rosto na malha combinada. Se o valor fornecido para esse argumento for NULL, os dados de remapeamento facial não serão retornados.

ppVertexRemap [out]

Tipo: LPD3DXBUFFER*

Endereço de um ponteiro para uma interface ID3DXBuffer , que contém um DWORD para cada vértice que especifica como os novos vértices são mapeados para os vértices antigos. Esse remapeamento será útil se você precisar alterar dados externos com base no novo mapeamento de vértice. Esse parâmetro é opcional; NULL pode ser usado.

pMaxVertexInfl [out]

Tipo: DWORD*

Ponteiro para um DWORD que conterá o número máximo de influências ósseas necessárias por vértice para esse método de esfolação.

pNumBoneCombinations [out]

Tipo: DWORD*

Ponteiro para o número de ossos na tabela de combinação óssea.

ppBoneCombinationTable [out]

Tipo: LPD3DXBUFFER*

Ponteiro para a tabela de combinação de ossos. Os dados são organizados em uma estrutura D3DXBONECOMBINATION .

ppMesh [out]

Tipo: LPD3DXMESH*

Ponteiro para a nova malha.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, o valor retornado será D3D_OK. Se o método falhar, o valor retornado poderá ser D3DERR_INVALIDCALL.

Comentários

Cada elemento nas matrizes de remapeamento especifica o índice anterior para essa posição. Por exemplo, se um vértice estiver na posição 3, mas tiver sido remapeado para a posição 5, o quinto elemento de pVertexRemap conterá 3.

Esse método não é executado em hardware que não dá suporte à mesclagem de vértice de função fixa.

Requisitos

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

Confira também

ID3DXSkinInfo