Método ID3DXSkinInfo::ConvertToIndexedBlendedMesh

Toma una malla y devuelve una nueva malla con pesos de mezcla por vértice, índices y una tabla de combinaciones óseas. En la tabla se describe qué paletas óseas afectan a qué subconjuntos de la malla.

Sintaxis

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

Malla de entrada. Consulte ID3DXMesh.

Opciones [in]

Tipo: DWORD

Actualmente no se usa.

paletteSize [in]

Tipo: DWORD

Número de matrices óseas disponibles para la piel de paleta de matrices.

pAdjacencyIn [in]

Tipo: const DWORD*

Información de adyacencia de malla de entrada.

pAdjacencyOut [in]

Tipo: LPDWORD

Información de adyacencia de malla de salida.

pFaceRemap [out]

Tipo: DWORD*

Matriz de DWORDs, una por cara, que identifica la cara de malla original que corresponde a cada cara de la malla combinada. Si el valor proporcionado para este argumento es NULL, no se devuelven los datos de mapa facial.

ppVertexRemap [out]

Tipo: LPD3DXBUFFER*

Dirección de un puntero a una interfaz ID3DXBuffer , que contiene un DWORD para cada vértice que especifica cómo se asignan los nuevos vértices a los vértices antiguos. Este mapa es útil si necesita modificar los datos externos en función de la nueva asignación de vértices. Este parámetro es opcional; Se puede usar NULL .

pMaxVertexInfl [out]

Tipo: DWORD*

Puntero a un DWORD que contendrá el número máximo de influencias óseas requeridas por vértice para este método de skinning.

pNumBoneCombinations [out]

Tipo: DWORD*

Puntero al número de huesos de la tabla de combinación ósea.

ppBoneCombinationTable [out]

Tipo: LPD3DXBUFFER*

Puntero a la tabla de combinación ósea. Los datos se organizan en una estructura D3DXBONECOMBINATION .

ppMesh [out]

Tipo: LPD3DXMESH*

Puntero a la nueva malla.

Valor devuelto

Tipo: HRESULT

Si el método se realiza correctamente, el valor devuelto es D3D_OK. Si se produce un error en el método, el valor devuelto se puede D3DERR_INVALIDCALL.

Comentarios

Cada elemento de las matrices de remap especifica el índice anterior para esa posición. Por ejemplo, si un vértice estaba en la posición 3, pero se ha reasignado a la posición 5, el quinto elemento de pVertexRemap contendrá 3.

Este método no se ejecuta en hardware que no admite la mezcla de vértices de función fija.

Requisitos

Requisito Value
Encabezado
D3DX9Mesh.h
Biblioteca
D3dx9.lib

Consulte también

ID3DXSkinInfo