Функция D3DXSplitMesh
Разделяет сетку на сетки меньше указанного размера.
Синтаксис
void D3DXSplitMesh(
_In_ LPD3DXMESH pMeshIn,
_In_ const DWORD *pAdjacencyIn,
_In_ const DWORD MaxSize,
_In_ const DWORD Options,
_Out_ DWORD *pMeshesOut,
_Out_ LPD3DXBUFFER *ppMeshArrayOut,
_Out_ LPD3DXBUFFER *ppAdjacencyArrayOut,
_Out_ LPD3DXBUFFER *ppFaceRemapArrayOut,
_Out_ LPD3DXBUFFER *ppVertRemapArrayOut
);
Параметры
-
pMeshIn [in]
-
Тип: LPD3DXMESH
Указатель на интерфейс ID3DXMesh , представляющий исходную сетку.
-
pAdjacencyIn [in]
-
Тип: const DWORD*
Указатель на массив из трех DWORD на каждое лицо, который указывает три соседя для каждого лица в сетке, которую необходимо упростить.
-
MaxSize [in]
-
Тип: const DWORD
Максимальное число вершин в результирующей сетке.
-
Параметры [в]
-
Тип: const DWORD
Флаги параметров для новых сеток.
-
pMeshesOut [out]
-
Тип: DWORD*
Количество возвращенных сеток.
-
ppMeshArrayOut [out]
-
Тип: LPD3DXBUFFER*
Буфер, содержащий массив интерфейсов ID3DXMesh для новых сеток. Для исходной сетки, разделенной на n сеток, ppMeshArrayOut представляет собой массив n указателей ID3DXMesh .
-
ppAdjacencyArrayOut [out]
-
Тип: LPD3DXBUFFER*
Буфер, содержащий массив массивов смежности (DWORD) для новых сеток. См . раздел ID3DXBuffer. Этот параметр является необязательным.
-
ppFaceRemapArrayOut [out]
-
Тип: LPD3DXBUFFER*
Буфер, содержащий массив массивов переназначения лиц (DWORD) для новых сеток. См . раздел ID3DXBuffer. Этот параметр является необязательным.
-
ppVertRemapArrayOut [out]
-
Тип: LPD3DXBUFFER*
Буфер, содержащий массив вершин, переназначает массивы для новых сеток. См . раздел ID3DXBuffer. Этот параметр является необязательным.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет D3D_OK. Если функция завершается ошибкой, возвращаемое значение может быть одним из следующих значений: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Комментарии
Обычно эта функция используется для разделения сетки с 32-разрядными индексами (более 65535 вершин) на несколько сеток, каждая из которых имеет 16-разрядные индексы.
Массивы смежности, переназначение вершин и переназначение лиц являются массивами DWORD, где каждый массив содержит n указателей DWORD, за которыми следуют данные DWORD, на которые ссылаются указатели. Например, чтобы получить сведения о переназначение лиц для лица 3 в сетке 2, можно использовать следующий код, предполагая, что данные повторного сопоставления лиц были возвращены в переменной с именем ppFaceRemapArrayOut.
const DWORD **face_remaps =
static_cast<DWORD **>(ppFaceRemapArrayOut->GetBufferPointer());
const DWORD remap = face_remaps[2][3];
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел