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


Функция D3DXLoadMeshFromX

Загружает сетку из X-файла DirectX.

Синтаксис

HRESULT D3DXLoadMeshFromX(
  _In_  LPCTSTR           pFilename,
  _In_  DWORD             Options,
  _In_  LPDIRECT3DDEVICE9 pD3DDevice,
  _Out_ LPD3DXBUFFER      *ppAdjacency,
  _Out_ LPD3DXBUFFER      *ppMaterials,
  _Out_ LPD3DXBUFFER      *ppEffectInstances,
  _Out_ DWORD             *pNumMaterials,
  _Out_ LPD3DXMESH        *ppMesh
);

Параметры

pFilename [in]

Тип: LPCTSTR

Указатель на строку, указывающую имя файла. Если для параметров компилятора требуется Юникод, тип данных LPCTSTR разрешается в LPCWSTR. В противном случае строковый тип данных разрешается в LPCSTR. См. заметки.

Параметры [в]

Тип: DWORD

Сочетание одного или нескольких флагов из перечисления D3DXMESH , которое задает параметры создания для сетки.

pD3DDevice [in]

Тип: LPDIRECT3DDEVICE9

Указатель на интерфейс IDirect3DDevice9 , объект устройства, связанный с сеткой.

ppAdjacency [out]

Тип: LPD3DXBUFFER*

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

ppMaterials [out]

Тип: LPD3DXBUFFER*

Указатель на буфер, содержащий данные материалов. Буфер содержит массив структур D3DXMATERIAL , содержащих сведения из файла DirectX. Дополнительные сведения о доступе к буферу см. в разделе ID3DXBuffer.

ppEffectInstances [out]

Тип: LPD3DXBUFFER*

Указатель на буфер, содержащий массив экземпляров эффекта, по одному на группу атрибутов в возвращаемой сетке. Экземпляр эффекта — это конкретный экземпляр сведений о состоянии, используемых для инициализации эффекта. См . раздел D3DXEFFECTINSTANCE. Дополнительные сведения о доступе к буферу см. в разделе ID3DXBuffer.

pNumMaterials [out]

Тип: DWORD*

Указатель на количество структур D3DXMATERIAL в массиве ppMaterials при возврате метода.

ppMesh [out]

Тип: LPD3DXMESH*

Адрес указателя на интерфейс ID3DXMesh , представляющий загруженную сетку.

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

Тип: HRESULT

Если функция выполняется успешно, возвращаемое значение будет D3D_OK. Если функция завершается ошибкой, возвращаемое значение может быть одним из следующих значений: D3DERR_INVALIDCALL E_OUTOFMEMORY.

Комментарии

Параметр компилятора также определяет версию функции. Если определен Юникод, вызов функции разрешается в D3DXLoadMeshFromXW. В противном случае вызов функции разрешается в D3DXLoadMeshFromXA, так как используются строки ANSI.

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

Для файлов сетки, которые не содержат сведения об экземпляре эффекта, экземпляры эффектов по умолчанию создаются из сведений о материалах в X-файле. Экземпляр эффекта по умолчанию будет иметь значения по умолчанию, соответствующие членам структуры D3DMATERIAL9 .

Имя текстуры по умолчанию также заполняется, но обрабатывается иначе. Имя будет Texture0@Name, которое соответствует переменной эффекта с именем Texture0 с заметкой "Name". Он будет содержать строковое имя файла текстуры.

Требования

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

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

Функции сетки

D3DXEFFECTDEFAULT

D3DXEFFECTINSTANCE