Метод ID3DXSkinInfo::ConvertToIndexedBlendedMesh

Принимает сетку и возвращает новую сетку с весами, индексами и таблицей комбинации костей для каждой вершины. В таблице описывается, какие палитры кости влияют на подмножества сетки.

Синтаксис

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

Параметры

pMesh [in]

Тип: LPD3DXMESH

Входная сетка. См. раздел ID3DXMesh.

Параметры [in]

Тип: DWORD

В настоящее время неиспользуется.

paletteSize [in]

Тип: DWORD

Количество матриц костей, доступных для скининга матричной палитры.

pAdjacencyIn [in]

Тип: const DWORD*

Входные сведения о смежности сетки.

pAdjacencyOut [in]

Тип: LPDWORD

Выходные сведения о смежности сетки.

pFaceRemap [out]

Тип: DWORD*

Массив DWORD, по одному на лицо, который идентифицирует исходную грань сетки, соответствующую каждой грани в смешанной сетке. Если для этого аргумента задано значение NULL, данные о переназначение лиц не возвращаются.

ppVertexRemap [out]

Тип: LPD3DXBUFFER*

Адрес указателя на интерфейс ID3DXBuffer , содержащий DWORD для каждой вершины, указывающий, как новые вершины сопоставляются со старыми вершинами. Это повторное сопоставление полезно, если необходимо изменить внешние данные на основе нового сопоставления вершин. Этот параметр является необязательным; Можно использовать значение NULL .

pMaxVertexInfl [out]

Тип: DWORD*

Указатель на DWORD, который будет содержать максимальное количество влияний кости, необходимых для каждой вершины для этого метода скининга.

pNumBoneCombinations [out]

Тип: DWORD*

Указатель на количество костей в таблице комбинации костей.

ppBoneCombinationTable [out]

Тип: LPD3DXBUFFER*

Указатель на таблицу комбинации костей. Данные организованы в структуру D3DXBONECOMBINATION .

ppMesh [out]

Тип: LPD3DXMESH*

Указатель на новую сетку.

Возвращаемое значение

Тип: HRESULT

Если метод выполнен успешно, возвращаемое значение будет D3D_OK. Если метод завершается сбоем, возвращаемое значение можно D3DERR_INVALIDCALL.

Комментарии

Каждый элемент в массивах повторного сопоставления указывает предыдущий индекс для этой позиции. Например, если вершина находилась в позиции 3, но была переназначна на позицию 5, пятый элемент pVertexRemap будет содержать 3.

Этот метод не выполняется на оборудовании, которое не поддерживает смешивание вершин с фиксированной функцией.

Требования

Требование Значение
Заголовок
D3DX9Mesh.h
Библиотека
D3dx9.lib

См. также раздел

ID3DXSkinInfo