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


Функция D3DXComputeIMTFromSignal

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

Синтаксис

HRESULT D3DXComputeIMTFromSignal(
  _In_  LPD3DXMESH              pMesh,
  _In_  DWORD                   dwTextureIndex,
  _In_  UINT                    uSignalDimension,
  _In_  FLOAT                   fMaxUVDistance,
  _In_  DWORD                   dwOptions,
  _In_  LPD3DXIMTSIGNALCALLBACK pSignalCallback,
  _In_  VOID                    *pUserData,
        LPD3DXUVATLASCB         pStatusCallback,
        LPVOID                  pUserContext,
  _Out_ LPD3DXBUFFER            *ppIMTData
);

Параметры

pMesh [in]

Тип: LPD3DXMESH

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

dwTextureIndex [in]

Тип: DWORD

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

uSignalDimension [in]

Тип: UINT

Количество компонентов в каждой точке данных в сигнале.

fMaxUVDistance [in]

Тип: FLOAT

Максимальное расстояние между вершинами; алгоритм продолжает деление до тех пор, пока расстояние между всеми вершинами не будет меньше или равно fMaxUVDistance.

dwOptions [in]

Тип: DWORD

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

pSignalCallback [in]

Тип: LPD3DXIMTSIGNALCALLBACK

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

pUserData [in]

Тип: VOID*

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

pStatusCallback

Тип: LPD3DXUVATLASCB

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

pUserContext

Тип: LPVOID

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

ppIMTData [out]

Тип: LPD3DXBUFFER*

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

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

Тип: HRESULT

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

Комментарии

Для этой функции требуется, чтобы входная сетка содержала сопоставление текстур между сигналами (т. е. координаты текстуры). Это позволяет пользователю произвольно определять сигнал по поверхности сетки.

Требования

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

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

Функции UVAtlas

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