Поделиться через


Метод ID3DX10Mesh::Optimize

Создает новую сетку с переупорядоченными гранями и вершинами для оптимизации производительности рисования.

Синтаксис

HRESULT Optimize(
  [in]  UINT        Flags,
  [in]  UINT        *pFaceRemap,
  [out] LPD3D10BLOB *ppVertexRemap
);

Параметры

Флаги [in]

Тип: UINT

Указывает тип выполняемой оптимизации. Для этого параметра можно задать сочетание одного или нескольких флагов из D3DXMESHOPT и D3DXMESH (кроме D3DXMESH_32BIT, D3DXMESH_IB_WRITEONLY и D3DXMESH_WRITEONLY).

pFaceRemap [in]

Тип: UINT*

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

ppVertexRemap [out]

Тип: LPD3D10BLOB*

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

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

Тип: HRESULT

Возвращаемое значение является одним из значений, перечисленных в коде возврата Direct3D 10.

Комментарии

Этот метод создает новую сетку. Перед запуском Optimize приложение должно создать буфер смежности, вызвав ID3DX10Mesh::GenerateAdjacencyAndPointReps. Буфер смежности содержит данные смежности, такие как список ребер и лиц, расположенных рядом друг с другом.

Этот метод очень похож на метод ID3DX10Mesh::CloneMesh , за исключением того, что он может выполнять оптимизацию при создании нового клона сетки. Выходная сетка наследует все параметры создания входной сетки.

Требования

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

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

ID3DX10Mesh

Интерфейсы D3DX