Функция D3DXSimplifyMesh
Создает упрощенную сетку, используя предоставленные весовые коэффициенты, максимально приближенные к заданному значению MinValue.
Синтаксис
HRESULT D3DXSimplifyMesh(
_In_ LPD3DXMESH pMesh,
_In_ const DWORD *pAdjacency,
_In_ const D3DXATTRIBUTEWEIGHTS *pVertexAttributeWeights,
_In_ const FLOAT *pVertexWeights,
_In_ DWORD MinValue,
_In_ DWORD Options,
_Out_ LPD3DXMESH *ppMesh
);
Параметры
-
pMesh [in]
-
Тип: LPD3DXMESH
Указатель на интерфейс ID3DXMesh , представляющий исходную сетку.
-
pAdjacency [in]
-
Тип: const DWORD*
Указатель на массив из трех DWORD для каждого лица, который определяет три соседя для каждого лица в сетке, который необходимо упростить.
-
pVertexAttributeWeights [in]
-
Тип: const D3DXATTRIBUTEWEIGHTS*
Указатель на структуру D3DXATTRIBUTEWEIGHTS , содержащую вес каждого компонента вершины. Если для этого параметра задано значение NULL, используется структура по умолчанию. См. заметки.
-
pVertexWeights [in]
-
Тип: const FLOAT*
Указатель на массив весов вершин. Если для этого параметра задано значение NULL, для всех весов вершин устанавливается значение 1,0.
-
MinValue [in]
-
Тип: DWORD
Количество вершин или граней в зависимости от флага, заданного в параметре Options , с помощью которого можно упростить исходную сетку.
-
Параметры [in]
-
Тип: DWORD
Задает параметры упрощения для сетки. Можно задать один из флагов в D3DXMESHSIMP .
-
ppMesh [out]
-
Тип: LPD3DXMESH*
Адрес указателя на интерфейс ID3DXMesh , представляющий возвращаемую сетку упрощения.
Возвращаемое значение
Тип: HRESULT
Если функция выполняется успешно, возвращаемое значение будет D3D_OK. В случае сбоя функции возвращается одно из следующих значений: D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA E_OUTOFMEMORY.
Комментарии
Эта функция создает сетку с вершинами или гранями MinValue .
Если процесс упрощения не может сократить сетку до MinValue, вызов по-прежнему будет выполнен успешно, так как MinValue является требуемым минимумом, а не абсолютным минимумом.
Если pVertexAttributeWeights имеет значение NULL, следующие значения присваиваются структуре D3DXATTRIBUTEWEIGHTS по умолчанию.
D3DXATTRIBUTEWEIGHTS AttributeWeights;
AttributeWeights.Position = 1.0;
AttributeWeights.Boundary = 1.0;
AttributeWeights.Normal = 1.0;
AttributeWeights.Diffuse = 0.0;
AttributeWeights.Specular = 0.0;
AttributeWeights.Tex[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0};
Эту структуру по умолчанию следует использовать большинству приложений, так как она учитывает только геометрическую и нормальную корректировку. Другие поля элементов необходимо изменить только в особых случаях.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|
См. также раздел