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


Функция D3DXComputeIMTFromTexture

Вычисляет значения IMT для каждого треугольника из текстуры, сопоставленной с сеткой, которая при необходимости будет использоваться в качестве входных данных для функций UVAtlas D3DX.

Синтаксис

HRESULT D3DXComputeIMTFromTexture(
  _In_  LPD3DXMESH         pMesh,
  _In_  LPDIRECT3DTEXTURE9 pTexture,
  _In_  DWORD              dwTextureIndex,
  _In_  DWORD              dwOptions,
        LPD3DXUVATLASCB    pStatusCallback,
        LPVOID             pUserContext,
  _Out_ LPD3DXBUFFER       *ppIMTData
);

Параметры

pMesh [in]

Тип: LPD3DXMESH

Указатель на сетку ввода (см. ID3DXMesh), которая содержит геометрию объекта для вычисления IMT.

pTexture [in]

Тип: LPDIRECT3DTEXTURE9

Указатель на текстуру (см. раздел IDirect3DTexture9), сопоставленный с сеткой.

dwTextureIndex [in]

Тип: DWORD

Отсчитываемый от нуля индекс координат текстуры, определяющий, какой набор координат текстуры следует использовать.

dwOptions [in]

Тип: DWORD

Параметры обертывания текстуры. Это сочетание одного или нескольких флагов D3DXIMT.

pStatusCallback

Тип: LPD3DXUVATLASCB

Указатель на функцию обратного вызова для отслеживания хода выполнения вычислений IMT.

pUserContext

Тип: LPVOID

Указатель на определяемую пользователем переменную, которая передается функции обратного вызова состояния. Обычно используется приложением для передачи указателя на структуру данных, которая предоставляет сведения о контексте для функции обратного вызова.

ppIMTData [out]

Тип: LPD3DXBUFFER*

Указатель на буфер (см. ID3DXBuffer), содержащий возвращенный массив IMT. Этот массив можно предоставить в качестве входных данных для функций UVAtlas D3DX, чтобы определить приоритет выделения пространства текстуры в параметризации текстуры.

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

Тип: HRESULT

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

Комментарии

Учитывая текстуру, которая сопоставляется с поверхностью сетки, алгоритм вычисляет IMT для каждого лица. Это приведет к тому, что треугольники, содержащие низкочастотные данные сигнала, будут занимать меньше места в конечном атласе текстур при параметризации с помощью функций UVAtlas. Предполагается, что текстура будет интерполирована по сетке билинеарно.

Требования

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

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

Функции UVAtlas

Использование UVAtlas (Direct3D 9)